Как получить доступ к полю через подтаблицу Django

У меня есть таблица Product и таблица Variation, я хочу получить доступ к полю Price внутри таблицы Variation через вызов моего объекта Product

Как я пытаюсь вызвать поле в моей HTML странице:

{{item.variation.price_set.first}}

.

Примечание: {{item}} - это мой объект продукта

.

мои модели:

class Product(models.Model):
 //JUST NORMAL FIELD STUFF

class Variation(models.Model):
   product = models.ForeignKey(Product, on_delete=models.CASCADE)
   price = models.FloatField()

Вы можете использовать циклы nested для доступа только к первому promotion price as well as price следующим образом:

Это минимально воспроизводимый пример, так как не могу понять ваш дизайн.

{% for item in TopItems %}

<div>
    <p> {{item.name}} </p>
    <p>{{forloop.counter}}st variation</p>

    {% for variation in item.variation_set.all  %}
    {% if forloop.counter0 < 1 %}
        <p>First variation price of  - {{variation.price}}</p> 
        {% comment  %}It will give only first price {% endcomment %}
        <p>First variation promotion price - {{variation.promotion_price}}</p>
        {% comment  %}It will give only first promotion price{% endcomment %}
    {% endif %}
    {% endfor %}
</div>
<br>
{%endfor%}

Note: Между тегами template должен быть пробел, поэтому пишите его как {% endif %}, а не {%endif%}, аналогично для {% endfor %}, а не {%endfor%}.

Note: Будет лучше, если вы передадите ваши контекстные ключи в snake_case, а не PascalCase, так что их можно передать как top_items, а не TopItems.

Вернуться на верх