簡體   English   中英

使用ForeignKey查詢集的Django OneToMany關系

[英]Django OneToMany relationship using ForeignKey queryset

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

我現在需要的,但我不知道該怎么做,是創建一個查詢集以接受表中的任何id排序id如何在表Line中顯示為fk鍵,我想在html頁面中顯示。

例如,我想在html模板中顯示如下內容:

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

這讓我感到困惑,因為我認為我們需要反轉外鍵。

這是模型:

django.db import models

class Order(models.Model):
    order_name = models.CharField(max_length=254)

class Line(models.Model):
    f= models.ForeignKey(Order, blank=True, null=True,verbose_name='order')
    name = models.CharField(max_length=254)

    def __unicode__(self):
        return self.name

任何想法如何做到這一點?

我想在訂單表中的數據:

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 %}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM