[英]Django: Get flat value for an item in a QuerySet / dictionary
我嘗試了很多事情,包括itervalues()
, values_list()
, values()
,但是我似乎無法只為自己創建的字典中的對象獲取值。 我認為這是以下代碼:
choices = Choice.objects.filter(question_id=q.id).order_by('order')
for c in choices:
new_c = dict(choice_id=c.id, question_id=c.question_id, choice=c.choice, order=g.order,
text=c.text, skip_to=c.skip_to)
if new_c['skip_to']:
new_s = dict(question_id=q.id, skip_to=c.skip_to, page_number=0)
skip_to_list.append(new_s)
new_q['choices'].append(new_c)
當我打印時,我得到:
[{'page_number': 0, 'skip_to': <Group: 5>, 'question_id': 1}, {'page_number': 0, 'skip_to': <Group: 5>, 'question_id': 2}, {'page_number': 0, 'skip_to': <Group: 5>, 'question_id': 3}]
如您所見, skip_to
的值為<Group: 5>
。 在我的模型中, skip_to
的值等於我的Group對象中的fk。 我只希望該值等於5
。 我不要小組。 但這是我唯一希望具有固定值的項目,我不希望整個choice
對象具有固定值。
抱歉,仍然是如何導航和遍歷列表和字典的新手,但是經過數小時的搜索,我想我只會問。
假設5是Group
模型的id
(主鍵),則可以執行以下分配:
skip_to=c.skip_to.pk
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.