“Django”;“本地风味”;在管理中选择小部件
我想用在管理 我应该在模型中添加什么字段?我怎样才能在admin中显示小部件?“Django”;“本地风味”;在管理中选择小部件,django,django-models,django-admin,Django,Django Models,Django Admin,我想用在管理 我应该在模型中添加什么字段?我怎样才能在admin中显示小部件? 编辑 我正在尝试这个 谢谢 你在哪里尝试这些代码?小部件需要附加到字段 这里有一种方法可以做到这一点: class MyAdmin(admin.ModelAdmin): def formfield_for_dbfield(self, db_field, **kwargs): if db_field.name == 'my_state_field': kwargs['
编辑 我正在尝试这个
谢谢 你在哪里尝试这些代码?小部件需要附加到字段 这里有一种方法可以做到这一点:
class MyAdmin(admin.ModelAdmin):
def formfield_for_dbfield(self, db_field, **kwargs):
if db_field.name == 'my_state_field':
kwargs['widget'] = INStateSelect()
return super(MyAdmin, self).formfield_for_dbfield(db_field, **kwargs)
另一种方法是覆盖管理表单并使用INStateField
class MyForm(forms.ModelForm):
class Meta:
model = MyModel
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
self.fields['myfield'] = INStateField()
class MyAdmin(admin.ModelAdmin):
form = MyForm
class MyForm(forms.ModelForm):
class Meta:
model = MyModel
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
self.fields['myfield'] = INStateField()
class MyAdmin(admin.ModelAdmin):
form = MyForm