完整性错误django

时间:2013-03-27 20:34:14

标签: mysql django sqlite

我在django项目中使用sqlite3作为我的数据库然后我决定将其更改为mysql引擎。我正确地更改了settings.py中的所有内容,并且为了不丢失数据库,我将我的sqlite转储到文本中,我更改了每个“with”,删除了Commit以及与sqlite3相关的所有内容。我在mysql上执行了转储文件一切都被完美地添加了。但是,当我尝试在一个名为categories的表中添加一个cateogory时。

我收到此错误消息

  

/ admin / red_carpet / category /
的IntegrityError   (1062,“密钥1的重复条目'0”)

我认为关键是重复是什么错误说。我查看了“id”列,看到它是结构,我发现id列是“NOT NULL”。没有自动增量添加到该列,所以我添加了它并尝试从管理页面执行类别我得到了相同的错误我再次查看结构​​然后我添加了auto_increment不应该从0但应该从最后一个值6开始。然后我再次从django管理员添加了类别,但我仍然得到相同的错误,再看一下结构,特别是在phpmyadmin的索引部分我找到了行

Keyname Type        Cardinality  Action  Field
PRIMARY  PRIMARY       9                 id

对我来说,一切看起来都不错,实际上当我通过django admin添加值时,我得到了它,虽然我得到了相同的错误消息

  

/ admin / red_carpet / category /
的IntegrityError   (1062,“密钥1的重复条目'0”)

我真的不明白为什么会出现这个问题!!!!以前任何人都已经彻底了! ??

PS:当我尝试删除某些内容时,我收到相同的错误消息。例如,如果我删除一个cateogory我得到exat错误消息虽然当我看到db我发现该类别已被删除!

1 个答案:

答案 0 :(得分:0)

防止交叉数据库问题的一种方法是使用固定装置,例如以(db-agnostic)json格式转储和加载数据:

请参阅dump data commandwhat is a fixture 来自django文档。