Могу ли я сослаться на одно значение внешнего ключа в шаблоне Django? - PullRequest
0 голосов
/ 27 апреля 2020

У меня есть модель:

`class product(models.Model):
    product = models.CharField(primary_key=True, unique=True, max_length=7, editable=False)
    desc = models.CharField(max_length=50)

 class pricelist(models.Model):
    product = models.ForeignKey(product, on_delete=models.CASCADE)
    price_group = models.ForeignKey(pricegroup, on_delete=models.CASCADE)
    price = models.DecimalField(max_digits=8, decimal_places=2, null=True)`

В основном у меня есть 4 разные ценовые группы (у одного товара может быть до 4 разных цен - по одной для каждой ценовой группы), и я хотел бы отобразить цену указанного товара (отфильтрованная) ценовая группа в шаблоне моего продукта (DetailView).

Допустим, у меня есть следующие ценовые группы: "PG1", "PG2", "PG3", "PG4"

I ' Я могу просмотреть список из них oop:

{% for pricelist in product.pricelist.all %}
                    {{ pricelist.price }}
              {% endfor %}

, но я не могу отобразить цены только для двух указанных ценовых групп. Мне нужно отобразить цены на моей веб-странице следующим образом:

PG1 = 124
PG3 = 367

Иногда доступны только цены для двух или трех групп

Ответы [ 2 ]

1 голос
/ 27 апреля 2020

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

0 голосов
/ 27 апреля 2020

ОК, следующий ответ @tstoev Я получил эту работу с декоратором:

   @property
def PricePG1(self):
   return pricelist.objects.filter(price_group__exact='PG1',  product_id=self)[0].price

Спасибо

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