【问题标题】:Django Queryset to return objects in Many to Many fieldsDjango Queryset 在多对多字段中返回对象
【发布时间】:2017-12-23 18:33:21
【问题描述】:

我有一个这样的数据库表:

ID    epic_key     issue_key     status
1     JIR-1         JIR-12        TODO
2     JIR-2         JIR-13        OPEN
3     JIR-2         JIR-18        CLOSE
4     JIR-2         JIR-88        TODO
5     JIR-3         JIR-89        TODO
6     JIR-3         JIR-99        CLOSE

在 Django 模板 (index.html) 中,我想显示与唯一 epic_key 值相关的所有 issue_key。所有信息应一次性显示在表格中。 例如。对于JIR-2epic_key,显示所有issue_keys应该是Select issue_key where epic_key is "epic_key"

JIR-2  JIR-13
       JIR-18
       JIR-88

JIR-3  JIR-89
       JIR-99

可折叠的积木、桌子、手风琴任何东西都可以提供帮助。

【问题讨论】:

    标签: python mysql django django-queryset


    【解决方案1】:
    keys = issue_key.objects.filter(epic_key__in=epic_key_set)
    

    Making queries#in

    要在模板中使用它,您需要将它作为上下文的一部分传递:

    context['issue_keys']=keys
    return render(request, TEMPLATE_NAME, context)
    

    然后在模板中:

    {% for key in issue_keys %}
        <p>Key: {{ key }}</p>
    {% endfor %}
    

    【讨论】:

    • 能否详细说明。把这段代码放在哪里,然后在模板中使用它。我是 Django 新手
    • 应该是MODELNAME.object.filter(epic_key__in=epic_key_set) ??
    • 更新了我的答案。是的,issue_key.objects.filter(epic_key__in=epic_key_set) 中的 issue_key 是 MODELNAME。
    • 还有一个问题,“epic_key_set”指的是什么?
    • 我尝试在 epic_key_set = MYMODELNAME.objects.values('epic_key').distinct() 中使用它。当我使用您在模板中提供的代码时,它只是给了我所有的 issue_keys,而没有根据 epic_keys 对它们进行隔离。如果我错了,请纠正我
    猜你喜欢
    • 1970-01-01
    • 2018-12-29
    • 1970-01-01
    • 2016-05-06
    • 2018-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    相关资源
    最近更新 更多