引用其他应用程序的Django ManyToManyField返回“ app.model.None”

问题描述 投票:0回答:1

[我正在尝试从另一个应用程序获取模型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%}循环中列出它们,但是当我尝试将其保留为空白时。我究竟做错了什么?感谢您提前提供的所有帮助。

django manytomanyfield
1个回答
0
投票

经理被悔改为ModelName.None,例如Client.objects也将显示为Client.None

为了访问ManyToManyField关系中的项目,您需要访问查询集(例如,使用.all(),并且如果要显示单个元素,请对其进行迭代,因此:

<p>{% for illness in client.illnesses.all %}
    {{ illness }}
{% endfor %}</p>
© www.soinside.com 2019 - 2024. All rights reserved.