我正在尝试在django中设置一个选择字段,但我不认为这是一个django问题.选择字段采用2元组的可迭代(例如,列表或元组)作为该字段的选择.
这是我的代码:
self.fields['question_' + question.id] = forms.ChoiceField(
label=question.label,
help_text=question.description,
required=question.answer_set.required,
choices=[("fe", "a feat"), ("faaa", "sfwerwer")])
Run Code Online (Sandbox Code Playgroud)
由于某种原因,我总是得到以下错误:
TypeError - cannot concatenate 'str' and 'long' objects
Run Code Online (Sandbox Code Playgroud)
最后一行始终突出显示.
我不是想连接任何东西.几乎不管我将列表更改为'choices'参数,我都会收到此错误.
这是怎么回事?
Mar*_*off 34
很可能它只突出显示最后一行,因为您将语句拆分为多行.
对实际问题的修复很可能会发生变化
self.fields['question_' + question.id]
Run Code Online (Sandbox Code Playgroud)
至
self.fields['question_' + str(question.id)]
Run Code Online (Sandbox Code Playgroud)
由于您可以在Python解释器中快速测试,因此在一起添加字符串和数字不起作用:
>>> 'hi' + 6
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
'hi' + 6
TypeError: cannot concatenate 'str' and 'int' objects
>>> 'hi' + str(6)
'hi6'
Run Code Online (Sandbox Code Playgroud)