[英]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.