我正在制作并刚刚运行syncdb
但是我犯了一个错误,想要删除syncdb
所做的事情,包括表中的所有数据都没问题。只是在数据库中重新开始,这样我就可以再次运行syncdb
。
(virtualenv-2.7)[root@server mysite]# python manage.py sqlclear mainapp | python manage.py dbshell
CommandError: One or more models did not validate:
app.comment: 'poster' defines a relation with the model 'auth.User', which has been swapped out. Update the relation to point at settings.AUTH_USER_MODEL.
app.myuser: The field named as the USERNAME_FIELD should not be included in REQUIRED_FIELDS on a swappable User model.
答案 0 :(得分:0)
重新创建数据库可能是最好的方法。您也可以使用django-extensions包中的reset_db管理命令来执行此操作。
答案 1 :(得分:0)
Django 1.7支持migrate
您只需在编辑后再次运行python manage.py migrate
。
更多功能:release note
答案 2 :(得分:0)
正如J0HN在评论中所说,开始新鲜事的最佳方法是实际上只删除数据库。我认为它可能会搞砸,但事实并非如此。只需登录mysql。
drop database whatever_your_database_name;
create databse whatever_your_database_name;
然后只需再次与python manage.py syncdb
答案 3 :(得分:0)
也许是懒惰,但我跑了:
django-admin.py reset_db --router=default --noinput