class CreateCourseForm(ModelForm):
category = forms.ModelChoiceField(
queryset=Category.objects.all(),
empty_label="",
#widget=CustomCourseWidget()
)
class Meta:
model = Course
fields = ('title', 'description', 'category')
def __init__(self, *args, **kwargs):
super(CreateCourseForm, self).__init__(*args, **kwargs)
self.fields['category'].widget.attrs['class'] = 'chzn-select'
self.fields['category'].widget.attrs['data-placeholder'] = u'Please select one'
使用上面的代码,我得到了一个选择框,其中列出了所有类别对象。我想要做的是添加一个
<optgroup>VALUE</optgroup>
HTML 元素到特定的 Category-Objects(具有 Category.parent == null 的那些)。
有谁知道这是怎么做到的吗?非常感谢!
PS:我已经尝试将 QuerySet 转换为 Choices-Set(例如http://dealingit.wordpress.com/2009/10/26/django-tip-showing-optgroup-in-a-modelform/),效果很好用于呈现 HTML - 直到我尝试将结果保存到发生不匹配(ValueError)的数据库中。