“Ne peut pas filtrer une requête une fois une tranche a été prise”
J'obtiens cette erreur
Pris AssertionError rendu: Impossible de filtrer une requête une fois une tranche a été prise.
Sur cette ligne
{% if form.non_field_errors %}
Quand j'ai essayer de faire ce
copy_pickup_address = ModelChoiceField(required=False, queryset=Address.objects.filter(shipment_pickup__user=user).order_by('-shipment_pickup__created')[:5])
Mais j'ai besoin de trancher, parce que je ne veux les 5 dernières adresses. Il rend l'amende, jusqu'à ce que j'choisir une adresse et soumettez le formulaire. Pourquoi n'est-ce pas comme cela? Comment puis-je obtenir autour d'elle?
Pour info, j'ai eu d'autres problèmes avec l'aide d'un
ModelChoiceField
trop, alors j'ai contourné le problème en utilisant un ChoiceField
et saisissant le modèle à la main... mais je ne sais toujours pas pourquoi j'ai été faire cette stupide erreur.
OriginalL'auteur mpen | 2010-08-12
Vous devez vous connecter pour publier un commentaire.
Personne n'a encore répondu à la question du "Pourquoi n'est-ce pas comme cela?" partie de votre question. L'explication est donnée à https://docs.djangoproject.com/en/1.8/ref/models/querysets/:
OriginalL'auteur mhsmith
Je ne sais pas comment faire pour résoudre votre problème (semble que vous avez déjà), mais je pense que c'est pourquoi vous obtenez l'erreur: https://docs.djangoproject.com/en/1.4/ref/models/querysets/
Je suppose que vous êtes en forçant le queryset être évaluée à l'aide de la tranche, de sorte que davantage de filtrage des résultats dans une erreur?
Malheureusement, je ne suis pas sûr... je suis la chose la plus éloignée de Django expert, je voulais juste offrir ce lien afin que d'autres puissent savoir où creuser plus profond, je sais que certains de la documentation est parfois un peu difficile à trouver / reconnaître.
La version actuelle de la documentation explique: voir ma réponse.
OriginalL'auteur Supermitch
J'ai fait une erreur similaire en tirant ma requête énoncée côté du code et de filtrage puis sur la ligne suivante.
Ne sais pas si cela fonctionnera avec votre code.
Ne fonctionne pas pour moi. Toujours le même message d'erreur.
J'ai obtenu ce travail il y a plusieurs années, la façon de django est de faire de ces a probablement changé depuis.
OriginalL'auteur TicViking
C'est ce qui a finalement fonctionné pour moi
OriginalL'auteur user558061