フィールドの値と変数の違いに基づいてモデルのすべてのオブジェクトをリストしようとしています。たとえば、3日以上経過してから作成されたオブジェクトを取得しようとしています。だから私はdjangoクエリーセットの変数と返されたフィールドの差異を比較します
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()
AttributeError: 'ExpressionNode' object has no attribute 'lookup'
してくださいアドバイスを次のように私は貝にそれを実行したときにこれは私にエラーを与えているが、次のようなモデルを照会しようとしています。私は日付がそれはまた
Book.objects.filter(date_added__date__gte=datetime.now()-timedelta(days=3))
古いより3日古いです追加であなただけフィルタリングすることができるはず、私はあなたがすべてで注釈を必要としないと思うジャンゴ1.5.12
Django 1.5.12、なぜですか? –
F式はdjango 1.8+に関するメッシュです。 – e4c5
@MosesKoledoyeアップグレードするには多くのコードレビューが必要です。しばらくしてから同じバージョンを使用しています。すぐにアップグレードが必要です。 –