Gio*_*lia 5 django django-forms django-admin
我想更改管理站点中外键的“ +”图标的显示方式。
我发现打印代码的小部件RelatedFieldWidgetWrapper
位于中django/contrib/admin/widgets.py
。
因此,我编写了该类的版本,并更改了其render
功能。
但是现在我该如何使用呢?我的意思是...在我的模型定义中,我是否必须以formfield_overrides
这种方式使用?
formfield_overrides = {
models.ForeignKey: {'widget': customRelatedFieldWidgetWrapper},
}
Run Code Online (Sandbox Code Playgroud)
我认为这不是正确的方法,因为该小部件不是管理整个外键的小部件,而仅是“ +”图标。我错了吗?
非常感谢。
您需要为 ModelAdmin 创建自定义 ModelForm 并覆盖其中的小部件。
示例代码:
#forms.py
class CustomForm(forms.ModelForm):
user = forms.ModelChoiceField(queryset=User.objects.all(), widget=yourCustomWidget)
class Meta:
model = MyModel
#admin.py
class MyModelAdmin(admin.ModelAdmin):
form = CustomForm
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3323 次 |
最近记录: |