【问题标题】:Retrieve related objects in DetailView在 DetailView 中检索相关对象
【发布时间】:2014-04-11 09:59:32
【问题描述】:

在我的 DetailView 中,我想根据我的 url 中的 kwargs 获取对象,并检索它的所有相关(外键)值。

我用:

queryset = Category.objects.select_related() 

然而,在视图中,尝试使用

访问相关数据
{% for i in category.all %}

但是,渲染时模板中没有显示任何内容。

我在模板中试过这个

{% for i in category.toolkit_set %} 

它说相关对象不可迭代

我很快就有了,这是我的 models.py:

class Category(models.Model):
    ....
    title = models.CharField(max_length=250)
    ....

class Toolkit(models.Model);
    ....
    category = models.ForeignKey('Category')

我想获取每个 slug 的 Category 对象,并在一次 db hit 中检索所有关联的相关数据。

【问题讨论】:

    标签: django


    【解决方案1】:

    首先,您必须使用与模板中其他地方相同的变量名称来访问 Category 对象。通常在 DetailView 中,除非您明确更改它,否则对象名称只是 object

    其次,您拥有访问相关对象的两个独立部分 - _setall - 但您似乎没有将它们放在一起。

    所以,应该是:

    {% for toolkit in object.toolkit_set.all %} 
    

    【讨论】:

      猜你喜欢
      • 2021-04-24
      • 1970-01-01
      • 1970-01-01
      • 2014-12-23
      • 2021-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多