Автоматическая дата создания объектов формы модели 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 способ?

спасибо

ps-Я новичок django и Python...

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)