Доступ к значениям внешнего ключа в Django ListView GCBV - PullRequest
0 голосов
/ 04 октября 2018

У меня есть две модели, связанные с внешним ключом следующим образом.(Здесь показаны только важные поля.)

в модели:

class Category(models.Model):
    name = models.CharField(max_length=50, unique=True)
    description = models.TextField()
    ...

class Price(models.Model):
    category = models.ForeignKey(Category) # referred to above model
    sub_type = models.CharField(max_length=4, choices=CHOICE_SUB_TYPE)
    price = models.DecimalField()
    ...

Я собираюсь отобразить категории в ListView вместе со связанной информацией о ценах.Для этого мне нужно установить соответствующие объекты ценообразования для каждого объекта категории.Каков наилучший и эффективный способ сделать это?

1 Ответ

0 голосов
/ 04 октября 2018

Ваш код в порядке, так как в шаблонах у вас есть доступ к связанным моделям.При перечислении категорий в своем шаблоне вы можете:

<ul>
{% for cat in categories %}
   <li>{{ cat.name }}</li>
   <ul>
       {% for price in cat.price_set.all %}
           {{ price.price }}
       {% endfor %}
   </ul>

{% endfor %}
</ul>

Для отображения категорий при отображении подробной информации о цене, вы можете использовать Single object Mixin с ListView .

Рекомендуется: Ссылка на связанный объект.

...