Mon modèle:
{% for bild in bilder %} <li {% ifequal bild.slot bild_id %} class="active" {% endifequal %} onclick="window.location.href='/portfolio/{{ album_id }}/{{ bild.slot }}'"><div>{{ bild.slot }}</div></li> {% endfor %} {% for i in empties %} <li class="empty"></li> {% endfor %}
4 Réponses :
J'ai fait beaucoup de .Filter (). Commande_by () Code> Chaînes comme vous les avez, et rien ne saute pour moi comme hors de propos. Je n'ai jamais essayé de transporter cela qui commanderai au modèle sans traiter d'autres objets (généralement itérer sur eux), donc je me demande si le code
(). Commande_by () Code> Ligne dans une liste
() Code> Pour forcer l'évaluation là-bas au lieu d'être reportée jusqu'à quelques fois plus tard?
bilder = list(Bild.objects.filter(album__id = album_id).order_by('slot'))
Merci pour votre suggestion! Malheureusement ce n'était pas ça. Je pense éviter le problème en ne donnant pas toutes les données au modèle. Dans mon cas qui pourrait être inefficace de toute façon. Mais je suis toujours curieux ...
Oh pardon. Cela a effectivement fonctionné! En effet, merci! Utilisation de la liste () a fait le tour! (Bien que je ne comprends toujours pas pourquoi ...)
Vous devriez essayer de commander par Slot__ID.
Comme ceci: p>
dans votre (avec double soulignes)
Etant donné que "l'album" n'est pas lié comme un "album" HeuresTomanyField P> ici est juste un "album", p> donc la vues.py strong> devrait avoir p> (avec un seul soulignement). P> référence à Django Doc: https://docs.djangoproject.com/fr/2.0/topics/db/queries/#lookups-that-span-relationships < / a> p> p>
Si vous utilisez également le cadre de repos Django, je suis terminé ici de rechercher pourquoi .Order_by () ne fonctionnait pas lorsqu'il n'est pas utilisé lorsqu'il est appliqué à un query de mon modèle, quel que soit le fichier .filter () étant présent ou non. P>
Si vous n'avez pas besoin de définir votre propre get_queryset, n'est pas! La bibliothèque de Django-filtres a résolu ce problème pour que je remplace ma fonction conditionnelle get_queryset dans 3 lignes à l'aide de la commande de commande. P>
Vous ne faites pas quelque chose comme Bilder.order_by (...) quelque part plus tard à votre avis, êtes-vous?
Faites-vous quelque chose à BILDER avant de l'envoyer au modèle?
Je fais le même type de filtre et de commande_by dans un projet en ce moment et la syntaxe est la même que ce que j'ai, mais le mien fonctionne ... je vais jouer i la coquille un peu et essaye de comprendre cela
La seule chose que je fais plus tard dans la vue impliquant que le bauditier est la suivante: vide = gamme (18 - len (bilder))