繁体   English   中英

Django:在QuerySet /词典中获取项目的固定值

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM