Django - 模型不能有多个AutoField

时间:2015-07-24 01:57:14

标签: python django models

这个问题随机开始出现在我面前。我知道Django会生成自己的ID,但我的代码很多都使用了自定义的AutoFields。我今天添加了一个新类,并试图制作数字,但这个错误不断出现。

我删除所有AutoFields实例并重新尝试迁移,但问题仍然存在,这让我相信它的其他内容......我不相信我的Django版本已经发生了变化......

错误:

assetid = models.AutoField(primary_key=True)

以下是我的某个领域的示例:

Random.stub :rand, 1 do ... end

我的很多代码已经取决于名称本身,因此更改它将成为一个大问题。此外,这在以前工作得很好!我现在似乎无法迁移它。我应该提到我使用sqlite3 db。

3 个答案:

答案 0 :(得分:1)

删除了迁移文件和最近的历史记录并修复了它。

答案 1 :(得分:0)

这是因为Django默认情况下使用id的AutoField。因此,如果要将其他字段设置为AutoField,请确保确认 primary_key = True 。 这样做将从数据库中删除id字段。

我已将Mysql用作数据库。确保此问题可能无法在其他数据库中解决。

答案 2 :(得分:0)

我遇到了同样的问题,

我在所有应用程序文件中注释掉了对该模型的所有引用,然后运行makemigrations并进行迁移,但是它一直在告诉“一个模型不能有多个AutoField。”即使我试图删除该文件。

我必须重置数据库。