オブジェクトの作成日を自動的に設定し、オブジェクトが最後に更新されたときに記録するフィールドを設定する最良の方法は何ですか?
models.py:
created_at = models.DateTimeField(False, True, editable=False)
updated_at = models.DateTimeField(True, True, editable=False)
views.py:
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この値を自分で手動で設定する必要がありますか?それが渡されたパラメータのポイントだと思いましたDateTimeField(または単にデフォルトであり、設定editable=Falseしたのでフォームに表示されないため、リクエストで送信されず、したがって取得されませんフォームに入れますか?)
これを行う最良の方法は何ですか?__init__方法?
auto_nowとauto_now_add考えられているので、それらを避けてください。この回答は、理由を説明し、save()メソッドをオーバーライドしてより良いアプローチを提供します。