Django 外键在详细视图中显示值
Django foreign key display values in detail view
我有一个主数据库 table Radni_nalozi(工作订单),我通过外键将 Stavke(项目)附加到该数据库。
当我查看有关特定工单的详细信息时,我还想显示通过外键连接到该工单的所有项目。
我尝试了很多不同的方法,但似乎我自己无法弄清楚。
我附上下面的代码。在 HTML 模板中,我只能获取有关特定工作订单的详细信息,但不能获取项目的详细信息。
将 get_context_data
添加到您的详细视图以获取对象并获取与该对象相关的所有项目。基本上,此方法替换了 DetailView
提供的默认 context
,因此您还必须包括对象本身。
class RadniDetailView(DetailView):
# ..... remain code ......
def get_context_data(self):
context = super(RadniDetailView, self).get_context_data()
radni_obj = self.object # this contain the object that the view is operating upon
context['object'] = radni_obj # don't forget this also
# Get all items/Stavke related to the work order/Radni_nalozi
context['items'] = Stavke.objects.filter(Rn=radni_obj)
return context
在 HTML 中,您可以像这样显示所有项目
{% for item in items %}
{{ item }}
{% endfor %}
如果您在 django 中使用 ForeignKey,您可以使用“related_name”访问与一行相关的所有行 parameter.To 获取所有连接的项目通过外键到该工单(id=1)。
radni_nalozi_obj = Radni_nalozi.objects.get(id=1)
radni_nalozi_obj.stavka //we are using related_name that is mentioned in "Stavke" model for "Artikl" foreignkkey.
在您的详细视图中,您可能必须在返回之前修改上下文对象。
我有一个主数据库 table Radni_nalozi(工作订单),我通过外键将 Stavke(项目)附加到该数据库。 当我查看有关特定工单的详细信息时,我还想显示通过外键连接到该工单的所有项目。
我尝试了很多不同的方法,但似乎我自己无法弄清楚。 我附上下面的代码。在 HTML 模板中,我只能获取有关特定工作订单的详细信息,但不能获取项目的详细信息。
将 get_context_data
添加到您的详细视图以获取对象并获取与该对象相关的所有项目。基本上,此方法替换了 DetailView
提供的默认 context
,因此您还必须包括对象本身。
class RadniDetailView(DetailView):
# ..... remain code ......
def get_context_data(self):
context = super(RadniDetailView, self).get_context_data()
radni_obj = self.object # this contain the object that the view is operating upon
context['object'] = radni_obj # don't forget this also
# Get all items/Stavke related to the work order/Radni_nalozi
context['items'] = Stavke.objects.filter(Rn=radni_obj)
return context
在 HTML 中,您可以像这样显示所有项目
{% for item in items %}
{{ item }}
{% endfor %}
如果您在 django 中使用 ForeignKey,您可以使用“related_name”访问与一行相关的所有行 parameter.To 获取所有连接的项目通过外键到该工单(id=1)。
radni_nalozi_obj = Radni_nalozi.objects.get(id=1) radni_nalozi_obj.stavka //we are using related_name that is mentioned in "Stavke" model for "Artikl" foreignkkey.
在您的详细视图中,您可能必须在返回之前修改上下文对象。