Python Django管理员在删除类Question时出错



我有一个类Question,并将它们注册到Django管理员。当我想删除其中一些时,我会收到一个错误";操作错误,位于/admin/f/task/10/delete/没有这样的列:f_answer.date;。这是我的models.py文件内容

from django.db import models
# ---------- Question ----------
class Question(models.Model):
''' Questions '''
author     = models.CharField('Author', max_length=45)
title      = models.CharField('Title', max_length=300)
body       = models.TextField('Body')
date       = models.DateTimeField(auto_now_add=True, db_index=True, null=True, blank=True)
def __str__(self):
return self.title
class Meta:
verbose_name_plural = 'Questions'
verbose_name        = 'Question'

您显示的关于类Question的代码在其当前状态下没有任何问题。您是否碰巧在多次迁移中创建了Question对象?如果您最初有一个字段,先迁移,然后删除它——这可能会在尝试进行事务时导致问题。

我对您的日期字段有点怀疑,因为它既是db_index=true又允许null。据说f_answer.date不见了。。。我们是否应该将其解释为您有一个与Question对象相关的类Answer?如果您使用on_delete=models.CASCADE设置了该关系,但Question的实例具有null值,那么Django可能正在尝试查找不存在的相关Answer对象。

最新更新