fre*_*o.r 2 database sqlite django python-3.x
我有一个在很多领域使用外键的模型:
class DefinitionTag(models.Model):
tag = models.CharField(max_length=50, default="Tag")
def __str__(self):
return self.tag
class Definition(models.Model):
name = models.CharField(max_length=100)
definition = models.CharField(max_length=1000)
fundstellen = models.CharField(max_length=300, blank=True)
wissenswertes = models.CharField(max_length=1000, blank=True)
tags = models.ManyToManyField(DefinitionTag)
def __str__(self):
return self.name
Run Code Online (Sandbox Code Playgroud)
这工作,并在管理员一切都设置好所以我可以使用它.问题是,如果我尝试使用代码在我的视图中显示包含数据库条目的表:
def home(request):
query_results = Definition.objects.all()
context = {
"query_results": query_results
}
return render(request, 'home.html', context)
Run Code Online (Sandbox Code Playgroud)
并在HTML中:
{% for item in query_results %}
<tr>
<td>{{ item.name }}</td>
<td>{{ item.definition }}</td>
<td>{{ item.fundstellen }}</td>
<td>{{ item.wissenswertes }}</td>
<td>{{ item.tags }}</td>
</tr>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
在标签栏中,它只给我:
DefinitionTag.None
如何在manytomany字段中显示所有标签?
我希望我能得到一个暗示!谢谢
您需要在m2m字段上循环以获取所有标记.只是提到它不会给你链接到它的单个标签:
{% for item in query_results %}
<tr>
<td>{{ item.name }}</td>
<td>{{ item.definition }}</td>
<td>{{ item.fundstellen }}</td>
<td>{{ item.wissenswertes }}</td>
<td>
{% for tag in item.tags.all %}
{{ tag }}
{% endfor %}
</td>
</tr>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
如果您不确定如何从m2m字段获取所有项目,请查看django doc.
归档时间: |
|
查看次数: |
785 次 |
最近记录: |