Как получить, к какой коллекции относится товар? - PullRequest
0 голосов
/ 16 марта 2019

Я пытаюсь получить коллекцию, к которой принадлежит продукт при запуске цикла, но все, что он возвращает, - это collectiondrop в качестве вывода.пример:

{% for product in collections.all.products %}
{{ product.collections }} //each product belongs to one collection only.
{% endfor %}

это на странице товаров, таких как сопутствующие товары.поэтому, когда я пытаюсь что-то вроде этого:

{{ product.url | within:collection }}

, он захватывает текущую коллекцию, которую я просматриваю для продукта, и не имеет никакого отношения к продукту, который был в списке.таким образом, получающийся URL становится

/product/item-name

вместо

/collection/some-name/product/some-product-name

, что я и ищу.

1 Ответ

3 голосов
/ 16 марта 2019

Даже если товары принадлежат одной коллекции, объект коллекции по-прежнему является массивом, поэтому вы должны называть его так:

{% for product in collections.all.products %}
{{ product.collections[0] }}
{% endfor %}

Имейте в виду, что вы должны указать, что вы хотите от коллекцииили он вернет удаление коллекции, так что, например, {{ product.collections[0].url }} будет в порядке.

Если вы застряли таким образом, используйте фильтр json, чтобы проверить, что возвращает объект (когда в этом примере он будетвероятно, не позволит вам увидеть объект JSON).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...