Автоматическая дата создания объектов формы модели django?
как лучше всего установить дату создания объекта автоматически, а также поле, которое будет записывать, когда объект был последний раз обновлен?
В моей модели у меня есть:
created_at = models.DateTimeField(False, True, editable=False)
updated_at = models.DateTimeField(True, True, editable=False)
и на мой взгляд:
if request.method == 'POST':
form = MyForm(request.POST)
if form.is_valid():
obj = form.save(commit=False)
obj.user = request.user
obj.save()
return HttpResponseRedirect('obj_list')
Я получаю сообщение об ошибке:
objects_object.created_at may not be NULL
должен ли я вручную установить это значение сам? Я думал, что это точка параметров, переданных в поля DateTimeFields (или они просто по умолчанию, и поскольку я установил 'editable=False', они не получить отображается на форме, следовательно, не получить представлен в запросе, и, следовательно, не попасть в форму?).
каков наилучший способ сделать это? Ан init способ?
спасибо
1 ответов
можно использовать auto_now
и auto_now_add
варианты updated_at
и created_at
соответственно.
class MyModel(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)