2017-04-17 105 views
0

我有一個Django模型與start_datetimeend_datetime。它一切正常,除了當我將數據保存到模型中時,它將其保存爲2017-04-19 00:00:002017-04-29 00:00:00。我希望能夠自動將它保存爲2017-04-19 00:00:002017-04-19 23:59:59,而無需再次爲用戶輸入時間。如何自動添加時間到django模型中的日期時間字段?

我的模型:

class ProductNotes(models.Model): 
    start_datetime = models.DateTimeField('Start Date', null=True, blank=True) 
    end_datetime = models.DateTimeField('End Date', null=True, blank=True) 

我怎樣才能做到這一點?

+0

https://docs.djangoproject.com/en/1.11/ref/models/fields/#datefield – allcaps

回答

0

嗯,我覺得你的問題有很多辦法,但最直接的解決你的需求是目前保存當前時間的用戶執行的動作,

嘗試一些如:

import datetime 

def some_view(request): 
    # some view actions 
    product_notes_objet.end_datetime = datetime.datetime.now() 

在其他的方式,也許你可能會感興趣的一個領域,automaticaly本身每次您更新對象時更新,從而爲:

updated_at = models.DateTimeField(auto_now=True)

編輯

如果你想保存在23:59:59當前日期,你可以做一些如下:

# getting current date with format mm/dd/YYYY 
current_date = datetime.datetime.strftime(datetime.datetime.now().date(), "%m/%d/%Y") 

# creating a datetime from curret date at the time 23:59:59 
current_date_at_235959 = datetime.datetime.strptime(current_date+" 23:59:59", "%m/%d/%Y %H:%M:%S") 

# saving the datetime created 
product_notes_objet.end_datetime = current_date_at_235959 
product_notes_objet.save() 

也許其他的方式可以覆蓋你save方法模型或使用信號

+0

我不希望它現在保存時間,我希望它保存爲23 :59:59。 – DeA

+0

@DeA我編輯了我的答案 –

相關問題