Django:ModelMultipleChoiceField显示描述vs对象

时间:2011-02-03 00:18:13

标签: python django django-forms

我试图将ModelMultipleChoiceFields显示为CheckboxSelectMultiple。现在它确实渲染了复选框,但是使用了对象。我想展示对象描述,以便用户知道他们在选择什么。

如何迭代食物风格来提取数据?这是我到目前为止所尝试但是抛出了TemplateSyntaxError。“渲染时捕获了AttributeError:'generator'对象没有属性'all'”

foodstyles = forms.ModelMultipleChoiceField(
    label=_("Types of food you like"),
    widget=forms.CheckboxSelectMultiple, queryset=FoodStyle.objects.all(),
    required=True)

def __init__(self, *args, **kwargs):
    super(ProfileForm, self).__init__(*args, **kwargs)

    foodstyles = FoodStyle.objects.all()
    self.fields['foodstyles'].queryset = (
        (r.description) for r in foodstyles)

1 个答案:

答案 0 :(得分:3)

我觉得你需要在Model对象上实现 unicode (self),并返回你希望在表单中显示的任何字符串。