[我正在尝试从另一个应用程序获取模型ManyToManyField并创建一个列表,但尝试在模板中调用它时会返回“ app1.Model.None”。
app1.models
class Illness(models.Model):
title = models.CharField(max_length=255)
app2.models
class Client(models.Model):
illnesses = models.ManyToManyField('app1.Illness', blank=True)
client.html
<p>{{ client.illnesses }}</p>
app2.views.py
class TheDetailView(generic.DetailView):
template_name = 'client.html'
model = Client
HTML渲染仅返回该部分的“ app1.Illness.None”。我知道我会在{%for%}循环中列出它们,但是当我尝试将其保留为空白时。我究竟做错了什么?感谢您提前提供的所有帮助。
经理被悔改为ModelName.None
,例如Client.objects
也将显示为Client.None
。
为了访问ManyToManyField
关系中的项目,您需要访问查询集(例如,使用.all()
,并且如果要显示单个元素,请对其进行迭代,因此:
<p>{% for illness in client.illnesses.all %}
{{ illness }}
{% endfor %}</p>