我有一个简单的django模型
class Directory(models.Model):
id = models.AutoField(primary_key=True)
path = models.TextField(unique=True)
def __unicode__(self):
return self.path
class Meta:
db_table = u'directories'
但是,将Directory实例保存到db
中似乎存在一些问题>>> from cygapp.models import Directory
>>> d = Directory()
>>> d.path = '/usr'
>>> d.id
>>> d.save()
>>> d.id
4
>>> d
<Directory: /usr>
在正确分配ID字段(下一个空闲值)时,它不存储在db
中sqlite> select * from directories;
1|/bin
2|/system/lib
3|/system/bin
|/usr
我在这里缺少什么?
答案 0 :(得分:0)
您保存记录的所有操作都是正确的,并且应分配自动ID。
删除您的自定义ID字段id = models.AutoField(primary_key=True)
,因为Django会自动为您执行此操作。然后删除“目录”表并运行python manage.py syncdb
。这将确保您的模型上有正确的id字段。