Un peu difficile à expliquer en quelques lignes, mais ce que j'essaie d'obtenir à partir du jeu de requête est de supprimer tous les noms dupliqués, mais aussi de renvoyer un champ booléen. Je pense que ce sera plus facile de montrer des exemples.comment puis-je distinguer un queryset mais aussi sélectionner ce qui est nécessaire dans un champ différent? django
Model.order_by('-selected', 'name').distinct('selected', 'name')
cela me donnerait queryset et ce qui est à l'intérieur serait quelque chose comme pour ma sortie ..
[
{
"selected": true,
"id": 163,
"name": "11111111"
},
{
"selected": true,
"id": 178,
"name": "22222222222"
},
{
"selected": false,
"id": 152,
"name": "152-JE"
},
{
"selected": false,
"id": 163,
"name": "11111111"
},
{
"selected": false,
"id": 178,
"name": "22222222222"
},
{
"selected": false,
"id": 213,
"name": "mingzi"
}
]
Ce que je veux pour ma sortie est de distinct
tous les noms dupliqués et montrer selected: True
(si S'il n'y a pas de Vrai, montre celui qui est avec False
mais maintenant il montrerait les deux .J'ai voulu faire distinct('name')
, je ne dois pas utiliser order_by
mais je pensais qu'en le faisant, il ferait celui avec True
haut et puis distinct ceux en bas. Je ne peux pas seulement faire order_by('select')
puis distinct('name')
puisque ce qui est dans order_by doit être distinct.
Quelqu'un peut-il me donner un coup de main? Merci d'avance
je recevrais une telle erreur si 'recherche Unsupported « name » pour AutoField ou rejoindre sur le terrain ne nom comme licite est en fait un champ' ForeignKey'. dans le modèle si – Tsuna
Ok, mettez à jour votre message avec le champ qui doit être unique à partir du modèle foreignKey. Ensuite, je peux mettre à jour le mien avec les corrections. Mais la logique serait la même que vous avez juste besoin de changer le nom du champ réel avec: "name__FIELD". –
le modèle 'name' a id comme champ unique – Tsuna