Django Column'id'不能为空

时间:2011-08-12 09:14:25

标签: django django-models django-database

我的mysql数据库和django有一个奇怪的问题。

我使用inspectdb从现有数据库导入的模型创建了一个应用程序。它工作正常,直到昨天我删除了django自动创建的表(django_ ,auth _ ,site_ *)。我这样做是因为当我在安装的应用程序中添加我的应用程序时,它阻止了我的模型验证。

今天我尝试在我的数据库中插入一条新记录,我收到以下错误:

Django Version:     1.3
Exception Type:     IntegrityError
Exception Value: (1048, "Column 'asset_id' cannot be null")

该字段是主键,它应该是auto_increment,所以当我创建一个新记录时,我没有给它一个值。

有人能指出我这里发生了什么吗?

编辑:我部分地弄清了问题:不知何故,我的所有auto_increment特性都从我的数据库中删除了。这是怎么发生的?

2 个答案:

答案 0 :(得分:0)

检查生成的模型,并确保“auto_increment”列与标有primary_key=True选项的字段对应。

答案 1 :(得分:0)

在获取id属性之前,您可能需要保存对象模型。