Python 从Django中的多个关系获取模板中的属性
在我的Django 1.5项目中,两个模型之间存在多对多关系:Python 从Django中的多个关系获取模板中的属性,python,django,django-templates,Python,Django,Django Templates,在我的Django 1.5项目中,两个模型之间存在多对多关系: class File(models.Model): #.. subject = models.ManyToManyField(Subject) class Subject(models.Model): subject = models.CharField(max_length = 30, primary_key=True, blank=False, null=False) 我想做的是,了解文件,访问HTM
class File(models.Model):
#..
subject = models.ManyToManyField(Subject)
class Subject(models.Model):
subject = models.CharField(max_length = 30, primary_key=True, blank=False, null=False)
我想做的是,了解文件,访问HTML模板中的主题
当然,{{file.subject}}
不起作用。我知道{{file.subject.subject}
这是一个可以循环的查询集,但即使我尝试,我也不知道如何获取正确的主题
对象
有没有一种方法可以只从模板中执行?或者最好从视图中传递它?尝试
join
模板标记:
{{ file.subject.all|join:", " }}
或循环:
{% for subj in file.subject.all %}
{{ subj }}<br/>
{% endfor %}
{file.subject.all%中subj的%
{{subj}}
{%endfor%}
尝试加入模板标记:
{{ file.subject.all|join:", " }}
或循环:
{% for subj in file.subject.all %}
{{ subj }}<br/>
{% endfor %}
{file.subject.all%中subj的%
{{subj}}
{%endfor%}
将有0个或更多主题;如果只想循环,请在file.subject.all()上使用for
块执行循环:
{file.subject.all%中的主题为%
{{subject.subject}}
{%empty%}
抱歉,找不到主题。
{%endfor%}
如果你需要找到一个特定的主题,你必须查询它。这样做的观点;这样的逻辑应该留给Python代码:
subject = file.subject.filter(subject__startswith='Foo').first()
将有0个或更多科目;如果只想循环,请在file.subject.all()上使用for
块执行循环:
{file.subject.all%中的主题为%
{{subject.subject}}
{%empty%}
抱歉,找不到主题。
{%endfor%}
如果你需要找到一个特定的主题,你必须查询它。这样做的观点;这样的逻辑应该留给Python代码:
subject = file.subject.filter(subject__startswith='Foo').first()