djangoのmodelに後からauto_now_addを加える場合の処理の方法について
標記に関し、質問致します。
models.py に、後からcreated_atというフィールドを加え、
auto_now_add=True
としてフィールドを設定したのですが、
下記のところから何を入れれば先に進めるのかわからず止まりました。
python manage.py makemigrations
You are trying to add the field 'created_at' with 'auto_now_add=True' to resultreport without a default; the database needs something to populate existing rows.
1) Provide a one-off default now (will be set on all existing rows)
2) Quit, and let me add a default in models.py
Select an option: 1
Please enter the default value now, as valid Python
You can accept the default 'timezone.now' by pressing 'Enter' or you can provide another value.
The datetime and django.utils.timezone modules are available, so you can do e.g. timezone.now
Type 'exit' to exit this prompt
[default: timezone.now] >>>
◆試したこと
1、modelのフィールドに加えてみた。
・default=datetime.now
・blank=True
・null=True
全部シリアライズができないと怒られた。
2、上のプロンプトに色々な値を入れてみた
何を入れてみてもstrだの、知らないだの怒られた。
公式ドキュメントを確認し、
[https://docs.djangoproject.com/ja/2.1/ref/models/fields/#django.db.models.DateField.auto_now_add][1]
DateField auto_now オブジェクトが保存される度に自動的に現在の日付をセットします。
auto_now_add オブジェクトが最初に作成されるとき、
自動的にフィールドに現在の日付をセットします。
※auto_now と auto_now_add と default は排他的です。
同時に使用するとエラーが発生します。
TimeField auto_now 同上
auto_now_add 同上
DateTimeField auto_now 同上
auto_now_add 同上
ここまでは理解しましたが、エラーを乗り越えることが現状できず、、自分の理解では先に進まないと思ったので質問致します。(そもそもauto_now_addを使うべきではないのか?どうかも含めてわからないです。このようなとき、みなさんなら無視して他の解決方法で進めますか?)
宜しくお願い致します。