Python 让Django忘记一个不正确的';makemigration';
我正在开发一个Django应用程序,在那里我迁移了我的基本模型。没有保存到表示此模型的表中的数据(我使用的是PostgreSQL)。此后,我在原始模型类下添加了一个新变量,类似于:Python 让Django忘记一个不正确的';makemigration';,python,django,postgresql,django-1.7,Python,Django,Postgresql,Django 1.7,我正在开发一个Django应用程序,在那里我迁移了我的基本模型。没有保存到表示此模型的表中的数据(我使用的是PostgreSQL)。此后,我在原始模型类下添加了一个新变量,类似于: time_entered = models.DateTimeField(auto_now_add=True) 我必须以无效格式输入默认时间,可能是default=datetime.datetime.now(),因为我尝试迁移新变量时Django给了我一个错误: 正在运行迁移: 正在应用app.0002\u模型\
time_entered = models.DateTimeField(auto_now_add=True)
我必须以无效格式输入默认时间,可能是default=datetime.datetime.now()
,因为我尝试迁移新变量时Django给了我一个错误:
正在运行迁移:正在应用app.0002\u模型\u输入的时间\u。。。回溯:
…
django.core.exceptions.ValidationError:[““”值具有无效格式。它必须为YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]格式。“] 我已经注释掉了输入的时间,我使用Django的时区将默认值设置为正确的格式,并将默认值设置为正确格式的字符串。每次尝试
makemigrations
和migrate
时,都会出现相同的错误,Django不会将更改提交到数据库。当我尝试使用sqlmigrate
查看SQL命令时,甚至会出现错误。(为了澄清,sqlmigrate
适用于最近的makemigration
,只做了一些小改动,但不适用于出现实际错误的早期未提交的makemigration
尝试。)
我能做什么?我怎样才能让Django停止固执,放弃那个陈旧错误的SQL命令?有没有办法从
makemigration
中删除任何未提交的SQL命令?我现在不能迁移
任何东西。已使用和未使用的迁移挂在./app/migrations中。在初次迁移之后,我删除了所有迁移文件,然后运行了一个新的makemigrations
,它没有格式错误
我不满意这个解决方案。我还是希望听到更好的答案。
./manage.py模式迁移[myapp]--自动--更新
回滚上一次迁移