我试图在运行循环时获取产品所属的集合,但是它返回的只是collectiondrop作为输出。例如:
{% for product in collections.all.products %}
{{ product.collections }} //each product belongs to one collection only.
{% endfor %}
这是在产品页面上,例如相关产品。所以当我尝试这样的事情:
{{ product.url | within:collection }}
它获取当前正在查看产品的集合,并且与列出的产品没有关联。因此结果网址变成
/product/item-name
代替
/collection/some-name/product/some-product-name
这是我正在寻找的。 p>
答案 0 :(得分:3)
即使产品属于单个集合,集合对象仍然是数组,因此您应该这样称呼它:
{% for product in collections.all.products %}
{{ product.collections[0] }}
{% endfor %}
请记住,您必须指定要从集合中获取的内容,否则它将返回集合放置,例如,{{ product.collections[0].url }}
可以。
以这种方式卡住时,请使用json
过滤器检查返回的对象是什么(在本示例中,当该对象可能不允许您查看对象json时)。