gpt4 book ai didi

ManytoMany 字段中的 Django ForeignKey 显示为 None

转载 作者:搜寻专家 更新时间:2023-10-30 19:55:56 24 4
gpt4 key购买 nike

我有一个在多对多字段中使用外键的模型:

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

这有效,并且在管理员中一切都已设置,因此我可以使用它。问题是,如果我尝试使用以下代码在我的 View 中显示包含数据库条目的表:

def home(request):
query_results = Definition.objects.all()

context = {
"query_results": query_results
}
return render(request, 'home.html', context)

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

在标签栏中它只给我:

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

如果您不确定如何从 m2m 字段中获取所有项目,请查看 django doc .

关于ManytoMany 字段中的 Django ForeignKey 显示为 None,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35512030/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com