在我的Django项目中,我有以下模型(models.py
):
class Topic(models.Model):
id = models.AutoField(primary_key=True)
title = models.CharField(max_length=140)
def __unicode__(self):
return self.title
class ArgumentElement(models.Model):
id = models.AutoField(primary_key=True)
contents = models.CharField(max_length=256)
elementType = models.CharField(max_length=10)
topic = models.ForeignKey(Topic, related_name='ArgumentElement_Topic')
def __unicode__(self):
return self.contents
class ArgumentElementConnection(models.Model):
id = models.AutoField(primary_key=True)
sourceId = models.ForeignKey(ArgumentElement, related_name='connection_source')
targetId = models.ForeignKey(ArgumentElement, related_name='connection_target')
topic = models.ForeignKey(Topic, related_name='ArgumentElementConnection_Topic')
connectionType = models.CharField(max_length=7)
def __unicode__(self):
return self.id
我将这三个模型都添加到admin(admin.py
):
当我创建一个Topic
的实例,然后尝试在Admin中删除它时,我得到错误no such column: opinions_argumentelement.topic_id
。在
我的models.py
怎么了?在
使用sqllite3后端的AutoFields似乎没有increment properly。您是否有任何理由包括
id = models.AutoField(primary_key=True)
行?如果不使用它,则会自动添加一个自动增加的主键字段,并且更有可能正确创建该字段。尝试删除该行并创建一个新的sqllite数据库文件。在相关问题 更多 >
编程相关推荐