0
votes

Python Django - Afficher tous les objets assignés sur la page Web

Je développe une application Web pour les commandes de suivi. Et j'aimerais afficher toutes les commandes créées par un utilisateur via DétacherView.

modèles.py xxx

vues.py xxx < /pre_pewewewewewewe_profewewewewewewe_profewewewe_profewewewith Ça code, page non trouvée: Aucun ordre trouvé correspondant à la requête.

si Je supprime le défaire get_queryset () dans les points de vue.py, il ne montre que les utilisateurs eid et nom. Je ne sais pas comment je peux obtenir toutes les commandes attribuées à l'utilisateur en question.


1 commentaires

Si vous souhaitez répertorier Tous articles (commandes, utilisateurs), vous devez utiliser un generics.listview au lieu d'un generics.detailview


3 Réponses :


2
votes

Dans le modèle Essayez:

{% for order in user.order_set.all %}
    <p>{{ order.order_number }}</p>
{% endfor %}


0 commentaires

1
votes

Django vous permet de suivre les relations "à l'envers", ce qui signifie que vous pouvez interroger tous les enregistrements d'un mannequin qui a une relation FK ou ONETOne à votre modèle de modèle.

{% for order in user.order_set.all %}... {% endfor %}


3 commentaires

Est-ce mieux, Nether, plus rapide ou cela donne-t-il plus d'options que generics.detailview ? .. Si oui ou ne fournissez pas de contexte autour de votre réponse. Comme étant donné son aout-marqué par les robots pour le retrait. (De l'avis).


@ ZF007 n'est pas mieux ni plus rapide, c'est différent. Le détailView n'est pas le problème ici, est l'utilisation de l'orj.


(Beaucoup de réponses mieux avec votre mise à jour; lorsque vous lisez ce commentaire, vous pouvez le signaler pour le retrait; pas besoin de laisser ces commentaires personnels ici pour l'éternité).



1
votes

Il y a deux problèmes avec votre code. Le premier a été mentionné par Higor Rossato dans les commentaires, si vous souhaitez répertorier les choses Stainle, vous devez utiliser un generics.listview code>. Vous changez également le modèle code> code> et get_queryset code> de votre vue.

Vous voulez modèle = commander code> et p>

def get_queryset(self):
    Order.objects.filter(user=self.request.user).order_by("-id")


0 commentaires