Search code examples
pythondjangolistdjango-modelsdjango-queryset

How I get the value from a dictionary if the key from all keys are the same?


I want all values from a dictionary, but I have for each value the same key. It is possible to get the values in a separately empty list?

dic = QuesModel.objects.values("ans").distinct()
print(dic) 

""" 
Output :
< QuerySet [
{'ans': 'antwort1'}, 
{'ans': 'answer2'}, 
{'ans': 'besitzt als Modelle elemente verschiedene Ereignistypen.'}, {'ans': 'als Nachrichten und Datenobjekte e dargestellt.'}, 
{'ans': '2 ist eine rationale Zahl'}, 
{'ans': 'x hat den Wert 55'}, 
{'ans': ''}]>
"""

and I want to get the values from dic in a list, like:

for key, values in dic.items(): 

but it is not working. How can I fix it?


Solution

  • Yes you can do the following:

    dic1 = list(QuesModel.objects.values("ans").distinct())
    answers = [i['ans'] for i in dic1]
    print(answers)
    

    Note: Models in Django don't require model to be the suffix, so it is better to name it as Ques only or Question.