0

我在 SO 中浏览了很多“通过表访问”,所以如果我错过了什么,请随时关闭它。

我有一个表 A、一个表 B、一个 nn 关系和一个直通表 C。C 包含“in_stock”属性。显然,对象 A1 和 B1 的配对总是唯一的。因此,如果给我 A1 和 B1,我如何在模板中访问“直通表”C 中的“in_stock”属性?

附加信息:

我正在遍历模板中的 Bs A1,所以在迭代中我可以有 A1-B1,另一个 A1-B2 等等。

4

1 回答 1

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)
于 2012-08-29T10:24:33.320 回答