[PYTHON] [Django] Convertir l'ensemble de requêtes en liste de types de dict

introduction

Je voulais convertir les données obtenues à partir du modèle en une liste avec un élément QuerySet → dict et faire diverses choses, mais de manière inattendue, les informations ne sont pas sorties immédiatement, je vais donc les publier.

Conclusion

Ce qui suit est OK.

from .models import Choice

choice_query_set = Choice.objects.all() #Obtenir tous les enregistrements avec le type QuerySet
choice_list = list(choice_query_set.values())
print(choice_list)
#[{'id': 1, 'question_id': 1, 'choice_text': 'test1', 'votes': 3}, {'id': 2, 'question_id': 1, 'choice_text': 'test2', 'votes': 1}, {'id': 3, 'question_id': 1, 'choice_text': 'test3', 'votes': 2}]

Commentaire

from .models import Choice

choice_query_set = Choice.objects.all()
print(choice_query_set)  #Obtenir avec QuerySet
#<QuerySet [<Choice: test1>, <Choice: test2>, <Choice: test3>]>

print(choice_query_set.values())  #Conversion 1
#<QuerySet [{'id': 1, 'question_id': 1, 'choice_text': 'test1', 'votes': 3}, {'id': 2, 'question_id': 1, 'choice_text': 'test2', 'votes': 1}, {'id': 3, 'question_id': 1, 'choice_text': 'test3', 'votes': 2}]>

print(list(choice_query_set.values()))  #Conversion 2
#[{'id': 1, 'question_id': 1, 'choice_text': 'test1', 'votes': 3}, {'id': 2, 'question_id': 1, 'choice_text': 'test2', 'votes': 1}, {'id': 3, 'question_id': 1, 'choice_text': 'test3', 'votes': 2}]

Conversion 1: Choice_query_set .values () </ font> développe chaque élément (objet Choice) de QuerySet en dict type </ font> Conversion 2: Convertissez QuerySet en liste avec list (</ font> choice_query_set.values () ) </ font> / font>

c'est tout. Une fois que vous le savez, ce n'est rien: cat2:

Recommended Posts