Django模板:访问FK方法
下午好 我希望能够显示来自外部表中方法的返回值(模板obj共享一对多关系): 我将分配对象传递到模板中,并可以访问其属性,如下所示:Django模板:访问FK方法,django,templates,foreign-key-relationship,Django,Templates,Foreign Key Relationship,下午好 我希望能够显示来自外部表中方法的返回值(模板obj共享一对多关系): 我将分配对象传递到模板中,并可以访问其属性,如下所示: {{homework.due_date}} 但是让我们假设我想显示分配作业的老师的页面。我想我应该可以这样访问它: <a href='{{homework.teacher_set.get_page_url}}'>teacher page</a> 但这只会导致属性错误 如何获取url 注意:这个例子是为了表达问题而写的。没有语法巨魔
{{homework.due_date}}
但是让我们假设我想显示分配作业的老师的页面。我想我应该可以这样访问它:
<a href='{{homework.teacher_set.get_page_url}}'>teacher page</a>
但这只会导致属性错误
如何获取url
注意:这个例子是为了表达问题而写的。没有语法巨魔 既然这是一种向前的关系,你就这么做吧
{{homework.assignment.get_page_url}}
此外,如果您正在寻找反向外键关系,您可以这样做
{{teacher.name}}
{% for homework in teacher.homework_set.all %}
{{homework.due_date}}
{% endfor %}
因为
老师。作业设置
谢谢您的快速回复。我试过这个,还有很多不同的排列,但我无法显示属性。然而,我接受了你的建议,不考虑这个_集,因为这是一种向前的关系。当我尝试{{家庭作业.作业.获取页面{url}}时,它成功了。因此,使用外部模型名称不会产生任何结果,但使用定义了FK的字段会产生任何结果。应该是这样吗?我打错了。对于转发关系,可以直接使用字段名。对于反向关系,如果未指定相关的\u name
属性,则应使用小写的模型名称,后跟\u set
。
{{teacher.name}}
{% for homework in teacher.homework_set.all %}
{{homework.due_date}}
{% endfor %}