我在wagtail_hooks.py中有以下模型类和list_filter,当我创建“Spieler”时,我收到此错误
这是我的追溯 http://dpaste.com/3A5QAH0
#models.py
POSITIONS_SP = (
('th', 'TH'),
('st', 'ST'),
('vt', 'VT'))
POSITIONS_SP_LOOKUP = dict(POSITIONS_SP)
class Spieler(models.Model):
name = models.CharField(max_length=128)
vorname = models.CharField(max_length=128)
position = models.CharField(max_length=128, choices=POSITIONS_SP)
panels = [
FieldPanel('name', classname="col6"),
FieldPanel('vorname', classname="col6"),
FieldPanel('position', classname="col4"),
]
#wagtail_hooks.py
class SpielerModelAdmin(ModelAdmin):
model = Spieler
menu_label = 'Spieler'
menu_icon = 'group'
list_display = ('name', 'vorname', 'position')
search_fields = ('name', 'vorname')
list_filter = ('position')
当我删除list_filter时,一切正常。
答案 0 :(得分:0)
当你的元组中只有一个项目时,你需要添加一个尾随逗号:
list_filter = ('position',)
否则,Python会将括号解释为含义"首先对其进行评估" (正如您在计算(2 + 2) * 3
之类的内容时所使用的那样),给出结果'position'
,并尝试将该字符串解释为列表 - 因此它最终会循环遍历{}中的每个字符{1}}。
或者,您可以使用列表表示法使其明确:
'position'