在开发Django-python网络应用程序时,我遇到了最奇怪的事情。
我的数据库中有一个要在前端显示的字段。该字段是一个MultiSelectField,并且列表是从列表中填充的
models.py
# Other service areas
other_areas = MultiSelectField(choices = SERVICE_AREAS, max_length=360,
default=None, null=True)
我的SERVICE_AREAS由类似这样的函数创建:
def get_service_areas():
#SERVICE_AREAS = [('None', '-------------')]
SERVICE_AREAS = []
sas = service_area.objects.all()
for s in sas:
SERVICE_AREAS.append((s.name, s.name))
return SERVICE_AREAS
我有一个表单,可以从中选择其他“服务区域”,并且所有内容均已正确提交到我的数据库(在pgadmin中,我看到了正确的值)
然后在模板的前端,我有以下代码来呈现数据:
index.html
<div class="email" style="padding-top: 10px;">{{c.service_area}}- {{c.service_area.said}} , Other SAID's: {{c.other_areas}}</div>
与此有关的怪异部分是,当数据实际显示在我的屏幕上时,它会多次显示为“ None”一词,该字段中存在逗号分隔的值。 (如果有3个服务区域,则将显示为“无”,“无”,“无”,如果有4个服务区域:“无”,“无”,“无”,“无”等) 我的其余数据正确显示在模板中。我有点沮丧,欢迎任何想法。
我在上面添加的图像的示例输出:
I have two values in the other_areas field (43006,43001) and it shows up like this
答案 0 :(得分:0)
这里确实没有太多源代码。但是,这显然是在告诉您,那里什么也没有。您无法将对象从视图传递到前端,这会使那些模板标记显示None
。由于您没有显示模型的真正含义,也不显示视图中呈现的数据,因此这里没有人可以为您提供帮助。我建议您发布代码,以便我们进一步了解如何为您提供帮助。