簡體   English   中英

如何使用Django ORM從連接在一起的兩個表中訪問所有模型屬性

[英]How can I access ALL model attributes from two tables joined together using django ORM

我想基於表屬性之一訪問連接在一起的兩個相關表中的所有值:

obj = A.objects.filter(B__sample='sample_name').select_related()

但是當我這樣做時:

{% for o in obj %}

    {{o.sample}}
    {{o.results}}
    {{o.qc}}

{% endfor %}

僅返回o.results和o.qc(來自表A),不返回o.sample(來自表B)

如何從我的queryset對象訪問表A和B中的所有值?

obj = A.objects.filter(B__sample='sample_name').select_related('b')

試試這個,用小外國模特的名字

您誤解了模型在Django中的工作方式。

sample是模型B的一個屬性,並且永遠都是那樣。 Django永遠不會將其添加為模型A的直接屬性。 那會令人困惑。

您仍然可以通過模型B的實例來訪問它; Django給您的魔力是oB (或任何稱為ForeignKey的東西)將訪問該模型B實例,因此您可以執行oBsample 由於您已經使用過select_related ,因此不會再產生數據庫命中。

暫無
暫無

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

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