【发布时间】:2016-05-10 09:53:52
【问题描述】:
我有以下型号:
class Task(models.Model)
customer = models.ForeignKey('Customer')
external_job = models.CharField(max_length=64)
created = models.DateTimeField(auto_now_add=True, db_index=True)
start = models.DateTimeField(db_index=True)
status = models.IntegerField()
我添加了一列 hidden_from_customer 为:
hidden_from_customer = models.BooleanField(default=True)
并运行了同步数据库。该列现在反映在数据库中,默认值为 True。但是当我运行以下查询时:
tasks = Task.objects.filter(status=1, hidden_from_customer=True)
我得到异常说:
Cannot resolve keyword "hidden_from_customer" into field. Choices are customer, external_job, created, start, status.
我不知道这是怎么回事!
【问题讨论】:
-
你使用的是哪个版本的 django?
-
我很确定 FieldError 是模型中字段的异常,而不是数据库查询本身。换句话说,并不是该表在数据库中不存在,因为它永远不会走那么远。您确定在添加字段后重新加载了模型吗?
-
谢谢大家,但这是模型定义中的错误。请查看我发布的解决方案。