我在 SO 中浏览了很多“通过表访问”,所以如果我错过了什么,请随时关闭它。
我有一个表 A、一个表 B、一个 nn 关系和一个直通表 C。C 包含“in_stock”属性。显然,对象 A1 和 B1 的配对总是唯一的。因此,如果给我 A1 和 B1,我如何在模板中访问“直通表”C 中的“in_stock”属性?
附加信息:
我正在遍历模板中的 Bs A1,所以在迭代中我可以有 A1-B1,另一个 A1-B2 等等。
我在 SO 中浏览了很多“通过表访问”,所以如果我错过了什么,请随时关闭它。
我有一个表 A、一个表 B、一个 nn 关系和一个直通表 C。C 包含“in_stock”属性。显然,对象 A1 和 B1 的配对总是唯一的。因此,如果给我 A1 和 B1,我如何在模板中访问“直通表”C 中的“in_stock”属性?
附加信息:
我正在遍历模板中的 Bs A1,所以在迭代中我可以有 A1-B1,另一个 A1-B2 等等。
我使用自定义标签来这样做:
(假设您在模板中有 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)