django Models ForeignKey 3张表单反响查找

  1. 背景,有三张表单分别以A,B,C表示

图片描述

重点:我如何通过A的DetailView,看到C表领用人的详细信息。实现DetailView,有人领用就把领用人的信息展现出来。

我的方法是:

class RegisterListView(LoginRequiredMixin, ListView):
    def get(self, request):
        reg = ReceiveRecord.objects.all()

        for e in reg:
            asset = e.asset
            people = e.people
        return render(request, 'assets/register_list.html', {
  
            'asset': asset,
            'people': people,
        })

这样只是把最新的信息给列出来了,没发实现上面的方法,
求如何更好的解决方案,谢谢!

阅读 2.5k
1 个回答

这个很简单,直接模板里就可以操作
a是A的对象实例,如果C设置了related_name=aaa

{% for c in a.aaa.all %}
{{c.name}}
{% endfor %}

a是A的对象实例,如果C没设置related_name,那就用c_set表示,这个c就是C模型名小写形式

{% for c in a.c_set.all %}
{{c.name}}
{% endfor %}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题