あけまして
django を
(fields.W161) Fixed default value provided. HINT: It seems you set a fixed date / time / datetime value as default for this field. This may not be what you want. If you want to have the current date as default, use `django.utils.timezone.now`
という
原因と、
参考サイト
“Fixed default value provided” after upgrading to Django 1.8
Django default=datetime.now() in models always saves same datetime after uwsgi reset
Django datetime issues (default=datetime.now())
Time zones | Django documentation | Django
モデルフィールドリファレンス | Django 1.4 documentation
原因
以下の
# -*- coding: utf-8 -*- from django.db import models class Test(models.Model): create_date = \ models.DateTimeField(default=datetime.utcnow()) update_date = \ models.DateTimeField(default=datetime.utcnow())
見解
メッセージの
models.DateTimeField(default=datetime.utcnow())
の記述では、
migrations.AlterField( model_name='xxxTableName', name='create_date', field=models.DateTimeField(default=datetime.datetime(2015, 12, 26, 19, 46, 4, 718301)), ),
対処方法
以下のように、
# -*- coding: utf-8 -*- from django.db import models from django.utils.timezone import now class Test(models.Model): create_date = models.DateTimeField(default=now) update_date = models.DateTimeField(default=now)
migrationsの
migrations.AlterField( model_name='xxxTableName', name='create_date', field=models.DateTimeField(default=django.utils.timezone.now), )
記述に
その他、 わかった こと
以下、
Column | Type | Modifiers ---------------+--------------------------+-------------------------------------------------------------- id | integer | not null default nextval('xxx_id_seq'::regclass) create_date | timestamp with time zone | not null update_date | timestamp with time zone | not null
djangoで
DB側の
※アプリケーション側で
DBに
Djangoから
以上です。
コメント