Python 如何访问Django中的多对多属性
我对web开发非常陌生,我已经使用Django创建了一个示例项目。到目前为止,我有一个Django支持的页面,显示我的数据库模型对象之一的内容,该对象称为Publications。我的视图模板中的代码是:Python 如何访问Django中的多对多属性,python,django,many-to-many,Python,Django,Many To Many,我对web开发非常陌生,我已经使用Django创建了一个示例项目。到目前为止,我有一个Django支持的页面,显示我的数据库模型对象之一的内容,该对象称为Publications。我的视图模板中的代码是: <html><head><title>Publications</title></head> <body> <h1>Publications</h1> <ul> {% for publi
<html><head><title>Publications</title></head>
<body>
<h1>Publications</h1>
<ul>
{% for publication in publication_list %}
<li>{{ publication.title }} </li>
{% endfor %}
</ul>
</body></html>
我的出版物和标签型号包括:
class Tag(models.Model):
title = models.CharField(max_length=50)
class Publication(models.Model):
title = models.CharField(max_length=200)
tags = models.ManyToManyField(Tag, blank=True)
非常感谢您的帮助。您正在做的事情只能访问ManyRelatedManager。您需要指定针对该管理器的查询。在python中,它将是:
publication.tags.all()
{% for tag in publication.tags.all %}
{{ tag }}
{% endfor %}
在django模板中,它将是:
publication.tags.all()
{% for tag in publication.tags.all %}
{{ tag }}
{% endfor %}
这应该包含在多对多关系的官方文件中
编辑:这里有一个关于多对多关系工作的好例子:您所做的只访问ManyRelatedManager。您需要指定针对该管理器的查询。在python中,它将是:
publication.tags.all()
{% for tag in publication.tags.all %}
{{ tag }}
{% endfor %}
在django模板中,它将是:
publication.tags.all()
{% for tag in publication.tags.all %}
{{ tag }}
{% endfor %}
这应该包含在多对多关系的官方文件中
编辑:这里有一个关于多对多关系工作的好例子:因为您似乎在这方面遇到了一些问题,鉴于您对另一个问题的评论,下面是对模板的更改。您根本不需要根据上面给出的内容修改视图
{% for publication in publication_list %}
<li>{{ publication.title }}
<ul>
{% for tag in publication.tags.all %}
<li>{{ tag.title }} </li>
{% endfor %}
</li>
</ul>
{% endfor %}
{%用于出版物中的出版物\u列表%}
{{publication.title}}
{publication.tags.all%中的标记的%s}
- {{tag.title}}
{%endfor%}
{%endfor%}
由于您似乎在这方面遇到了一些问题,鉴于您对另一个问题的评论,以下是对模板的更改。您根本不需要根据上面给出的内容修改视图
{% for publication in publication_list %}
<li>{{ publication.title }}
<ul>
{% for tag in publication.tags.all %}
<li>{{ tag.title }} </li>
{% endfor %}
</li>
</ul>
{% endfor %}
{%用于出版物中的出版物\u列表%}
{{publication.title}}
{publication.tags.all%中的标记的%s}
- {{tag.title}}
{%endfor%}
{%endfor%}