2012-08-29 42 views
0

我瀏覽過很多「通過表格訪問」,所以如果我錯過了某些內容,請隨時關閉它。在給出兩個實體的「through」表中,Django訪問數據

我有一個表A,一個表B,一個n-n關係和一個通過表C. C包含「in_stock」屬性。顯然,對象A1和B1的配對將始終是唯一的。因此,如果給予A1和B1,如何在模板中訪問「通過表」C中的「in_stock」屬性?

附加信息:

我遍歷將Bs A1已經在模板中,因此,在一個迭代I可以具有A1-B1,在另一A1-B2等

回答

2

我使用自定義標籤可以這樣做:

(假設你在模板中有A1)

{% load custom_tag %} 
<ul> 
{% for b in Bs %} 
    {% autoescape off %} 
     <li>in_stock for {{ A1 }} and {{ b }} : {{ A1|through:b }}</li> 
    {% endautoescape %} 
</ul> 
{% endfor %} 

custom_tag.py

register = template.Library() 


def through(A1, b): 
    t = "%s" % (C.objects.get(b=b, a=A1).in_stock) 
    return t 


register.filter(through)