如何将日期时间字段添加到Django并迁移

时间:2015-09-17 17:14:46

标签: python django

我已经在Django 1.8.3中为我的模型添加了datetimefield,现在我需要迁移。我试图弄清楚如何添加默认日期,但无法在文档中找到任何有用的信息。

我跑:

python manage.py makemigrations demo-model
python manage.py migrate demo-model

提示响应:

You are trying to add a non-nullable field 'date_uploaded' to demo-model without a default; we can't do that (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
 The datetime and django.utils.timezone modules are available, so you can do e.g. timezone.now()

我试过了:

>>> 2014-08-01

Django说:

Invalid input: invalid token (<string>, line 1)

所以我试试:

>>> datetime(2014, 08, 01).isoformat(' ')

我得到同样的错误。

我不知道Django想要什么......这无疑非常简单,但我无法在任何地方找到示例或适当的文档。

解决 问题在于我如何使用datetime。因为零&#39; 08&#39;被解释为八进制文字,它抛出的错误并没有被显示出来。

解决方案是:

datetime.date(2014, 8, 1)

2 个答案:

答案 0 :(得分:1)

尝试:

datetime(2014, 8, 1)

答案 1 :(得分:0)

为什么你在日期时间叫isoformat?你需要一个日期时间,而不是一个字符串。只需datetime(2014, 08, 01)