我在我的Django项目中有以下2个应用程序。一个应用程序(播放器)具有引用其他应用程序(团队)的ForeignKey。Django models.ForeignKey外键约束
应用1 - 播放器/ models.py
class Player(models.Model):
name = models.CharField(max_length=100)
team = models.ForeignKey(Team)
应用2 - 团队/ models.py
class Team(models.Model):
name = models.CharField(max_length=100)
问题#1 - 似乎一切都正常工作,但是当我尝试运行manage.py reset teams
我收到以下错误:
Error: Error: users couldn't be reset. Possible reasons:
* The database isn't running or isn't configured correctly.
* At least one of the database tables doesn't exist.
* The SQL was invalid.
Hint: Look at the output of 'django-admin.py sqlreset users'. That's the SQL this command wasn't able to run.
The full error: (1217, 'Cannot delete or update a parent row: a foreign key constraint fails')
我确定我所有的表都是InnoDB。我见过的人建议使用SET FOREIGN_KEY_CHECKS=0
作为一个解决方法,但我不知道如何最好地使用这个manage.py rest
问题#2 - 当我做一个mysqldump的,我不能没有运行到恢复我的MySQL数据库错误。我的基本程序如下:
转储我的分贝。
mysqldump --user=root --password=pass --result-file=MYBACKUP.SQL --compact MYDB
删除数据库,并创建一个新的具有相同的名称。
恢复我的分贝。
mysql -u root -p MYDB < MYBACKUP.SQL
就是这样。当我第一次尝试恢复时,它给了我这个错误 错误1005(HY000)在第12行:无法创建表'MYDB.auth_group_permissions'(errno:150)
当我尝试恢复第二次(和后续)的时间,它使一行更远,但它给了我这个错误: 错误1050(42S01)在行3:表'auth_group'已存在
我认为这些错误必须与外国关键约束,但我不知道如何解决它。
我知道这是一口,但任何意见将不胜感激。如果有的话,我会在明天发布我的发现。
在此先感谢!
有你'蟒蛇manage.py syncdb'? – mariusnn 2012-07-13 03:29:00
你应该看看南一旦你已经修复这个 – 2012-07-13 07:33:24
@mariusnn是的,我可以'syncdb'罚款,并使用管理控制台来管理一切。 – markhops 2012-07-13 13:16:06