自动设置对象的创建日期以及记录对象上次更新时间的字段的最佳方法是什么
型号。py:
已创建\u at=models.DateTimeField(False、True、editable=False)
更新的_at=models.DateTimeField(真、真、可编辑=False)
视图。py:
如果request.method==“POST”:
form=MyForm(request.POST)
如果form.is_有效():
obj=form.save(commit=False)
obj.user=request.user
obj.save()
返回HttpResponseRedirect('obj_list'))
我得到一个错误:
在处创建的对象\u object.created\u不能为空
我必须自己手动设置这个值吗?我认为这就是传递给DateTimeField的参数的要点(或者它们只是默认值,并且由于我设置了editable=False,它们不会显示在表单上,因此不会在请求中提交,也不会被放入表单中?)
最好的方法是什么?一个\uuuu初始化\uuuu方法
您可以使用auto\u now和auto\u now\u add选项分别用于updated\u和created\u
类MyModel(models.Model):
已创建\u at=models.DateTimeField(自动\u now\u add=True)
更新的\u at=models.DateTimeField(自动\u now=True)