删除Django admin中的记录时出现“No sus column”错误

2024-09-28 22:19:54 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的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):

^{pr2}$

当我创建一个Topic的实例,然后尝试在Admin中删除它时,我得到错误no such column: opinions_argumentelement.topic_id。在

我的models.py怎么了?在


Tags: namepyselfidtopicmodelmodelslength
1条回答
网友
1楼 · 发布于 2024-09-28 22:19:54

使用sqllite3后端的AutoFields似乎没有increment properly。您是否有任何理由包括id = models.AutoField(primary_key=True)行?如果不使用它,则会自动添加一个自动增加的主键字段,并且更有可能正确创建该字段。尝试删除该行并创建一个新的sqllite数据库文件。在

相关问题 更多 >