Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django模板:访问FK方法_Django_Templates_Foreign Key Relationship - Fatal编程技术网

Django模板:访问FK方法

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 注意:这个例子是为了表达问题而写的。没有语法巨魔

下午好

我希望能够显示来自外部表中方法的返回值(模板obj共享一对多关系):

我将分配对象传递到模板中,并可以访问其属性,如下所示:

{{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 %}