J'essaye de lister tous les objets d'un modèle basé sur la différence des valeurs de champ et une variable. Par exemple, j'essaie de tirer des objets qui ont été créés depuis 3 jours ou plus. Donc, je suis en train d'interroger les modèles suivantsCompare la différence renvoyée de champs avec une variable dans le jeu de queues 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()
Cela me donne une erreur quand je le lance dans la coquille comme suit
AttributeError: 'ExpressionNode' object has no attribute 'lookup'
conseils S'il vous plaît. J'utilise django 1.5.12
Django 1.5.12, mais pourquoi? –
Les expressions F ne sont apparues que sur django 1.8+ methinks – e4c5
@MosesKoledoye la mise à jour nécessite beaucoup de révision de code, donc nous utilisons la même version depuis un moment. Besoin d'une mise à niveau bientôt. –