我有一个类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
对象。