我试图从另一个应用程序获取模型 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)
客户端.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
.
为了访问 a 中的项目ManyToManyField
关系,您需要访问查询集,例如.all()
,并迭代它,如果你想显示单个元素,那么:
<p>{% for illness in client.illnesses.all %}
{{ illness }}
{% endfor %}</p>
或者如果你想渲染标题:
<p>{% for illness in client.illnesses.all %}
{{ illness.title }}
{% endfor %}</p>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)