gpt4 book ai didi

django - 在 Django ListView 中显示 Manytomany 字段

转载 作者:行者123 更新时间:2023-12-02 03:44:30 25 4
gpt4 key购买 nike

我试图在 Django ListView 中显示称为教师的多域字段的值。

目前我的模型如下所示:

class Classform(models.Model):

# Fields
name = models.CharField(max_length=255)
slug = extension_fields.AutoSlugField(populate_from='name', blank=True)
created = models.DateTimeField(auto_now_add=True, editable=False)
last_updated = models.DateTimeField(auto_now=True, editable=False)

# Relationship Fields
school = models.ForeignKey('eduly.School', default=1)
teachers = models.ManyToManyField('eduly.Teacher', )

我的 ListView 看起来像这样:

class ClassformListView(GroupRequiredMixin, ListView):
model = Classform
group_required = [u"school_admin"]
login_url = "/login/"
raise_exception = True

我的 ListView 模板如下所示:

<tr>
<td>{{object.pk}}</td>
<td><a href="{{object.get_absolute_url}}">{{object}}</a></td>
<td>{{ object.name }}</td>
<td>{{ object.teachers }}</td>
<td>{{ object.created }}</td>
<td>{{ object.last_updated }}</td>
</tr>

当此代码运行时,object.teachers 的显示值为 appname.Teacher.None

我注意到 Django 创建了一个名为 appname_classform 的表,还创建了一个名为“appname_classform_teachers”的表(大概用于 Manytomany 字段),但我不确定如何更改 object .teachers 获取教师姓名。 “appname_classform_teachers”包含应用 name_teachers 表中教师的有效条目。

最佳答案

使用object.teachers.all来获取实际的查询集。

-- 编辑--要以自定义方式呈现这些:

{% for objs_teacher in object.teachers.all %}
<p>{{ objs_teacher.first_name }}</p>
<p>{{ objs_teacher.last_name }}</p>
...
{% endfor %}

您可以访问循环中的各个字段,使其看起来像您想要的那样。

关于django - 在 Django ListView 中显示 Manytomany 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47266895/

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