Je suis un peu coincé mentalement à quelque chose, qui semble vraiment simple au premier coup d'œil.Commander un jeu de queues Django basé sur une autre liste avec les ID et les scores
Je suis saisissant une liste de ids
pour être sélectionné et scores
pour les trier en fonction de.
Ma solution actuelle est la suivante:
ids = [1, 2, 3, 4, 5]
items = Item.objects.filter(pk__in=ids)
Maintenant, je dois ajouter un classement en fonction du score en quelque sorte, donc je vais construire la liste suivante:
scores = [
{'id': 1, 'score': 15},
{'id': 2, 'score': 7},
{'id': 3, 'score': 17},
{'id': 4, 'score': 11},
{'id': 5, 'score': 9},
]
ids = [score['id'] for score in scores]
items = Item.objects.filter(pk__in=ids)
Jusqu'à présent, si bien - mais comment puis-je réellement ajouter les scores comme une sorte d'agrégat et trier le jeu de requête basé sur eux?
Merci! Très appréciée! Je ai forwent en utilisant 'in_bulk' depuis que j'ai un select_related que je n'ai pas mentionné –