Ich versuche, alle Objekte eines Modells auf der Grundlage der Differenz von Feldwerten und einer Variablen aufzulisten. Zum Beispiel versuche ich Objekte zu ziehen, die seit 3 Tagen oder mehr erstellt wurden. So versuche ich, die Modelle zur Abfrage alsVergleich der zurückgegebenen Differenz von Feldern mit einer Variablen in django queryset
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()
folgt Dies gibt mir einen Fehler, wenn ich es in der Shell ausgeführt als
AttributeError: 'ExpressionNode' object has no attribute 'lookup'
Bitte Beratung folgt. Ich bin mit django 1.5.12
Django 1.5.12 aktualisieren, aber warum? –
F Ausdrücke nur kam über Django 1.8+ michinks – e4c5
@MosesKoledoye Upgrade erfordert eine Menge Code Überprüfung, daher haben wir die gleiche Version seit einer Weile verwendet. Braucht bald ein Upgrade. –