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 次 |
| 最近记录: |