我使用django 1.9,并向myapp / models.py添加了一个新字段(creation_date)。
之后,我运行“ python manage.py makemigrations”。我有:


  请选择一个修复程序:
  
  
  现在提供一次性默认值(将在所有现有行上设置)
  退出,然后让我在models.py中添加默认值。”
  


我选择1st选项并以错误的格式“ 10.07.2016”增加了价值。
发生此错误后,我无法运行“ python manage.py migration”。

因此,我决定更改models.py并添加默认值“ datetime.now”。
但是之后,我仍然遇到“ python manage.py makemigrations”问题。我看到这样的事情:


  django.core.exceptions.ValidationError:[u“ '10 .07.2016'值的格式无效。它必须为YYYY-MM-DD HH:MM [:ss [.uuuuuu]] [TZ]格式。”]


如何解决这个问题呢?

最佳答案

只要您的迁移没有应用到数据库,您就可以手动更新位于myapp/migrations/*.py中的迁移文件。找到字符串“ 10.07.2016”并将其更新为受支持的格式。

一种不太吸引人的解决方案是删除旧的迁移文件(只要不将其粘贴到数据库中),然后使用python manage.py makemigrations创建一个新的迁移文件。因为您已经更新了模型以使用默认值,所以这次不会要求一次性的默认值。

要检查是否将迁移应用于数据库,请运行:python manage.py showmigrations

关于python - Django模型,增加新值(value),进行迁移,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39546734/

10-12 16:55
查看更多