我还没有弄清楚如何做我想做的事情(不必在创建对象时设置日期时间)并解决这个错误。
Django 1.11,Python 3.6。我目前正在从Django 1.8升级。
运行python manage.py migrate
时出现问题 File "C:\Dev\Python36\lib\site-packages\django\db\models\fields
\__init__.py", line 1423, in to_python
params={'value': value},
django.core.exceptions.ValidationError: ["Value '' has an invalid date
format. Must be in the format YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]."]
我之前的models.py(在Django 1.8中)
timeToServe = models.DateTimeField(default='', null=True, blank=True,
verbose_name=get_lang(None, 'time_to_serve'))
我当前的models.py(在Django 1.11中)
timeToServe = models.DateTimeField(default=None,
null=True, blank=True,
auto_now=False, auto_now_add=False,
verbose_name=get_lang(None, 'time_to_serve'))
我以前的迁移文件(在Django 1.8中)
('timeToServe', models.DateTimeField(default='', blank=True, verbose_name='Serveringstid', null=True)),
我当前的迁移(0021_auto_xxxx.py)(在Django 1.11中)
operations = [
migrations.AlterField(
model_name='booking',
name='timeToServe',
field=models.DateTimeField(
default=None, blank=True, null=True, verbose_name='time'),
),
答案 0 :(得分:0)
似乎并不能自动解决这个问题。我为解决这个问题所做的是:
在下一步中,我卸载了迁移。注意假旗。
python manage.py migrate --fake myAppName zero
我删除了所有当前的迁移文件以及相应的.pyc文件
创建了新的迁移文件
Python manage.py makemigrations
我安装了新的迁移文件。注意假旗。
python manage.py migrate --fake-initial
要检查迁移的状态,您可以运行