Django get_FOO_在列表中显示

Django get_FOO_在列表中显示,django,Django,我有一个模型技术,有一个CharField过程和选择 我有一个列表,其中有不同数量的选择: procs = [['CS'],['C1','C2','ID'],['C1','C2','C3','C4'], ['ID'],['RP'],['GY']] (例如,“CS”是奶酪等) 我正在尝试获取一个输出,例如 [奶酪],2 ['Chips','Nuts',0 等 但是get_FOO_display()抛出了一个TypeError:unhabable类型:“list” 为什么会这样?有没有更好

我有一个模型技术,有一个CharField过程和选择

我有一个列表,其中有不同数量的选择:

procs = [['CS'],['C1','C2','ID'],['C1','C2','C3','C4'],
    ['ID'],['RP'],['GY']]
(例如,“CS”是奶酪等)

我正在尝试获取一个输出,例如 [奶酪],2 ['Chips','Nuts',0 等

但是get_FOO_display()抛出了一个TypeError:unhabable类型:“list”

为什么会这样?有没有更好的方法获得相同的输出


谢谢

问题在于
proc
是一个列表,
procedure
字段需要一个字符串

您需要提取第一个元素,以获取字符串,然后可以分配它

另外,您正在使用
k
proc
进行迭代,但随后您正在重新分配它。这没有道理。也许你想要那样的东西

for k in proc:
    technique = Technique(procedure=k)
    m.append(str(technique.get_procedure_display()))

您可以使用聚合功能来简化它-什么是
total
?谢谢。对不起,这是以前的过滤器。我已经编辑过了,现在可以看了,谢谢,已经修好了
for k in proc:
    technique = Technique(procedure=k)
    m.append(str(technique.get_procedure_display()))