Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django models Makemigrations和auto_now_添加_Django Models - Fatal编程技术网

Django models Makemigrations和auto_now_添加

Django models Makemigrations和auto_now_添加,django-models,Django Models,Django 1.9.7 PostgreSQL 你能帮我理解我该怎么做吗? 选项auto_now_add和default是互斥的 这只是有点混乱。我赞成按1?但是我决定征求一些建议 型号 creation_date = models.DateField(auto_now_add=True) 回溯 michael@michael:~/workspace/photoarchive$ python manage.py makemigrations You are trying to add a no

Django 1.9.7

PostgreSQL

你能帮我理解我该怎么做吗? 选项auto_now_add和default是互斥的

这只是有点混乱。我赞成按1?但是我决定征求一些建议

型号

creation_date = models.DateField(auto_now_add=True)
回溯

michael@michael:~/workspace/photoarchive$ python manage.py makemigrations
You are trying to add a non-nullable field 'creation_date' to place without a default; we can't do that (the database needs something to populate existing rows).
Please select a fix:
 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

选择1并将
datetime.datetime.now()设置为默认值此处有一条建议。添加null=True,makemigrations,删除null=True。嗯,这很有帮助。但是null=True在这里似乎是无害的。也许没有必要删除null=True?对不起-是否更改了注释-因为可能
null=True
不是最好的主意。为什么?桌子到目前为止是空的。那里什么也没有。在生产中,auto\u now\u add将完成这项工作。好的-如果您还没有任何条目,这并不重要。对于现有条目,最好使用设置为有效日期的默认值。最后,
creation\u date
很可能永远不会为
NULL
——只是为了保持整洁,并为数据库在5年内迁移到另一个框架/任何框架做好准备:)选择1并将
datetime.datetime.now()设置为默认值这里有一条建议。添加null=True,makemigrations,删除null=True。嗯,这很有帮助。但是null=True在这里似乎是无害的。也许没有必要删除null=True?对不起-是否更改了注释-因为可能
null=True
不是最好的主意。为什么?桌子到目前为止是空的。那里什么也没有。在生产中,auto\u now\u add将完成这项工作。好的-如果您还没有任何条目,这并不重要。对于现有条目,最好使用设置为有效日期的默认值。最后,
creation\u date
很可能永远不会为
NULL
——只是为了保持整洁,并在5年内将数据库迁移到另一个框架/任何框架时做好准备:)