使用ForeignKey查询集的Django OneToMany关系

时间:2019-01-18 07:22:40

标签: python django database python-2.7

我在使用ForeignKey的Django框架OneToMany关系中的模型中使用

我现在需要的,我不知道该怎么做,就是创建一个查询集以接受表中的任何ID。订购这些ID如何在表Line中显示为fk键,我想在html页面中显示。 / p>

例如,我想在html模板中显示如下内容:

apt-get install libgconf-2-4

这让我感到困惑,因为我认为我们需要反转外键。

这是模型:

id_order | id_line
1        |    2
2        | 3,4,8
10       |    7

任何想法该怎么做?

1 个答案:

答案 0 :(得分:1)

我想在 Order 表数据中

id  order_name
1   order 1
2   order 2
10  order 10

表数据:

id  name    f_id
2   line 2  1
3   line 3  2
4   line 4  2
7   line 1  10
8   line 5  2

然后我运行以下查询

lines = Line.objects.select_related('order').values('f_id', 'id')

它将返回以下结果:

<QuerySet [{'f_id': 1, 'id': 2}, {'f_id': 2, 'id': 3}, {'f_id': 2, 'id': 4}, {'f_id': 2, 'id': 8}, {'f_id': 10, 'id': 7}]>

select_related返回一个QuerySet,它将“遵循”外键关系,并在执行查询时选择其他相关对象数据。

更新: 在模板中

{% for line in lines %}
    <p>{{ line.f_id.name }}</p>
{% endfor %}