Comment limiter les objets de la liste modèle de côté, plutôt que de la vue de côté
L'un des moyens de limiter les objets est d'ajouter une limitation à une fonction comme ceci
def ten_objects():
obj = Model.objects.all()[0:10] # limit to 10
return {'objects': obj}
Cependant comment voulez-vous atteindre ce à l'intérieur d'un modèle plutôt qu'à l'intérieur d'un point de vue?
Je sais que vous pouvez filtrer à travers les objets à l'intérieur d'un modèle et de la limite de caractères, mais comment faites-vous pour limiter le nombre d'objets affiché dans une boucle. Via le modèle. par exemple, le code suivant va parcourir tous les objets....
<ul>
{% for new in news %}
<li>
<p>{{ news.title }}</p>
<p>{{ news.body }}</p>
</li>
{% endfor %}
</ul>
Comment puis-je interrompre la boucle, par exemple après les sapins 3 objets/éléments. Et comment puis-je le faire à l'intérieur du modèle. Merci à l'avance.
- <a href="docs.djangoproject.com/en/dev/ref/templates/builtins/#slice">
slice
</a>
Vous devez vous connecter pour publier un commentaire.
Il y a un
slice
filtre que vous pouvez utiliser dans les templates. Cela fonctionne exactement le même que le découpage à l'intérieur de la vue.{% for object in user.objects.all %}
vous pouvez utiliser{% for object in user.objects.all|slice:":10" %}
Vous souhaitez utiliser le tranche modèle de filtre
Voici votre exemple modifié pour l'utiliser:
{{ new.title}}
et{{ new.body }}