【发布时间】:2017-01-10 10:58:45
【问题描述】:
我试图根据字段值和变量的差异列出模型的所有对象。例如,我正在尝试提取自 3 天或更长时间以来创建的对象。所以我尝试如下查询模型
import datetime
from myapp_books.models import Book
from django.db.models import F
current_date = datetime.date.today()
books = Book.objects.annotate(day_difference=F('date_added__date') - current_date).filter(day_difference__gte=3)
books.count()
当我按如下方式在 shell 中运行时,这给了我一个错误
AttributeError: 'ExpressionNode' object has no attribute 'lookup'
请指教。我正在使用 django 1.5.12
【问题讨论】:
-
Django 1.5.12,但是为什么呢?
-
F 表达式仅来自 django 1.8+ methinks
-
@MosesKoledoye 升级它需要大量的代码审查,因此我们一直在使用相同的版本。需要尽快升级。
-
@e4c5 我可以毫无问题地导入 F
-
哎呀对不起我的坏事
标签: python django django-queryset django-1.5