我有一个带有start_datetime
和end_datetime
的Django模型。这一切都很好,除了我将数据保存到模型中时,它将其保存为2017-04-19 00:00:00
和2017-04-29 00:00:00
。我希望能够自动将其保存为2017-04-19 00:00:00
和2017-04-19 23:59:59
,而无需再次接受用户输入。
我的模特:
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 :(得分:1)
嗯,我认为您的问题有很多选择,但最直接的解决方案是在用户执行操作时节省当前时间,
尝试一下:
import datetime
def some_view(request):
# some view actions
product_notes_objet.end_datetime = datetime.datetime.now()
换句话说,也许您可能对每次更新对象时自动更新的字段感兴趣,以便:
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
方法覆盖到您的模型或使用信号