渲染时出现TypeError:'long'对象不可迭代

时间:2011-10-19 14:29:45

标签: django django-forms django-modeladmin

我有几个具有一些ForeignKey关系的模型。

通过forms.py我添加了一个ModelMultipleChoiceField小部件

class VariableFieldForm(ModelForm):
    custom_field = forms.ModelMultipleChoiceField(queryset=VariableField.objects.all(), widget=FilteredSelectMultiple("Custom Fields", is_stacked=False))

    class Meta:
        model = VariableField

当尝试访问已保存的记录localhost:8000/admin/product/subcategory/3/或保存新记录时,我得到以下追溯

File "/opt/python2.6/lib/python2.6/site-packages/django/utils/encoding.py" in force_unicode
  71. s = unicode(s)
File "/opt/python2.6/lib/python2.6/site-packages/django/forms/forms.py" in __unicode__
  408. return self.as_widget()
File "/opt/python2.6/lib/python2.6/site-packages/django/forms/forms.py" in as_widget
  439. return widget.render(name, self.value(), attrs=attrs)
File "/opt/python2.6/lib/python2.6/site-packages/django/contrib/admin/widgets.py" in render
  39. output = [super(FilteredSelectMultiple, self).render(name, value, attrs, choices)]
File "/opt/python2.6/lib/python2.6/site-packages/django/forms/widgets.py" in render
  581. options = self.render_options(choices, value)
File "/opt/python2.6/lib/python2.6/site-packages/django/forms/widgets.py" in render_options
  531. selected_choices = set([force_unicode(v) for v in selected_choices])

Exception Type: TemplateSyntaxError at /admin/product/subcategory/3/
Exception Value: Caught TypeError while rendering: 'long' object is not iterable

我正在使用Django 1.3和MySQL

如何解决它的想法?

1 个答案:

答案 0 :(得分:0)

结束了我使用的是ForeignKey,而不是ManyToManyField关系。

希望这有助于今后的任何问题