dzi*_*ida 7 django many-to-many django-forms django-widget
我有ModelForm使用ManyToManyField的django 模型.我想将此字段的小部件更改为CheckboxSelectMultiple.我可以在不覆盖表单定义中的字段的情况下执行此操作吗?
我经常使用类似这样的代码:
class MyModel(ModelForm):
m2m_field = forms.ModelMultipleChoiceField(queryset = SomeModel.objects.all(),
widget = forms.CheckboxSelectMultiple())
Run Code Online (Sandbox Code Playgroud)
还有其他办法吗?
编辑:我需要这个Django 1.1.1项目
Dan*_*man 26
如果您使用的是Django 1.2+,则可以使用widgets内部Meta类中的元组.
class MyModelForm(forms.ModelForm):
class Meta:
widgets = {'m2m_field': forms.CheckboxSelectMultiple}
Run Code Online (Sandbox Code Playgroud)
请参阅文档.
另一种方法是在ModelForm 的init中执行此操作:
class MyModel(ModelForm):
def __init__(self, *args, **kwargs):
super(MyModel, self).__init__(*args, **kwargs)
self.fields['m2m_field'].widget = forms.CheckboxSelectMultiple()
[...]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6567 次 |
| 最近记录: |