【问题标题】:Accessing foreign key values in django ListView of GCBV在 GCBV 的 django ListView 中访问外键值
【发布时间】:2018-10-04 15:01:17
【问题描述】:

我有两个由外键关联的模型,如下所示。 (此处仅显示重要字段。)

在模型中:

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 中显示类别以及相关的定价详细信息。为此,我需要为每个 Category 对象设置相关的定价对象。最好和最有效的方法是什么?

【问题讨论】:

    标签: django django-class-based-views django-generic-views


    【解决方案1】:

    您的代码很好,在模板中,您可以访问相关模型。在模板中列出类别时,您可以:

    <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 with a ListView

    推荐:Related object reference.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-25
      • 2020-03-15
      • 2021-08-03
      • 2013-06-01
      • 1970-01-01
      • 2014-03-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多