comment créer un vide queryset et à ajouter manuellement les objets dans django
J'ai besoin de créer un queryset et pour ajouter à la main des objets que j'ai obtenu à partir de différents résultats de la requête afin de l'afficher dans un tableau.
J'utilise xx=set (), mais il ne fait pas le travail.
pouvez-vous montrer le code ?
Comment créer un vide queryset: docs.djangoproject.com/en/dev/ref/models/querysets/#none
et comment ajouter des objets?
Vous dites "certaines objets" sont-ils évalués membres de la précédente querysets ou avez-vous tout simplement dire "divers querysets" que vous souhaitez à la chaîne?
Je ne comprends pas pourquoi cette question a donc beaucoup de upvotes - on ne sait même pas ce que la personne se pose au sujet de.
Comment créer un vide queryset: docs.djangoproject.com/en/dev/ref/models/querysets/#none
et comment ajouter des objets?
Vous dites "certaines objets" sont-ils évalués membres de la précédente querysets ou avez-vous tout simplement dire "divers querysets" que vous souhaitez à la chaîne?
Je ne comprends pas pourquoi cette question a donc beaucoup de upvotes - on ne sait même pas ce que la personne se pose au sujet de.
OriginalL'auteur user2137817 | 2013-08-15
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire dans l'une des façons suivantes:
Vous pouvez aussi faire:
Cependant, Ce serait pas de travail pour les tranches de querysets
créer dynamiquement une liste, puis les ajouter à la fois.
en fait, vous n'avez pas besoin de la
none
qs. Vous pouvez simplement créer une liste et de le faire passer dans le contexte.Ne fonctionne pas. type(qs) = liste
Je suis en train de créer manuellement un queryset à partir d'une liste d'objets. Mon commentaire était un peu un raccourci. Le type de qs est toujours une liste dans le premier exemple de code que vous avez donné - en regardant maintenant, il devrait être évident.
OriginalL'auteur
Vous ne pouvez pas le faire. Un queryset est une représentation d'une requête de base de données. Vous ne pouvez pas ajouter des éléments à la main.
Mais si vous avez besoin d'un arbitraire collection ordonnée d'instances de modèle, il suffit d'utiliser une liste.
Je n'ai aucune idée de ce que cela signifie. Montrer un peu de code.
pour x à xx: query=Xx.objets.filtre(id=x.id) lisst.append(requête) table = getXtable(lisst)
Et je suis censé deviner ce
getXtable
est, ou pourquoi il ne fonctionne pas?OriginalL'auteur
Je suis vraiment en retard pour celui-ci, mais pour une consultation ultérieure, vous pouvez créer un queryset avec tous les filtre pour les objets qui ont une propriété particulière.
De filtrage sur le terrain, les propriétés de l'objet
De filtrage sur le terrain, les propriétés de l'objet
unwanted_ids = [obj.id for obj in qs if not obj.foo]
signifierait un troupeau de voyages à la base de données. Essayezunwanted_ids=SomeModel.objects.filter(foo=False).values_list('id', flat=True)
J'ai effacé ma réponse. Espère qu'il fait plus de sens maintenant!
Je pense toujours que la compréhension de liste vous faire serait de rendre les objets à l'python côté, probablement en seulement 1 voyage, mais pour porter des objets entiers serait plus d'une charge sur la base de données que simplement en apportant un
values_list
.Vous ne pouvez pas appeler une méthode sur un values_list.
OriginalL'auteur