我想更改管理站点中外键的“+”图标的显示方式。
我发现打印代码的小部件是RelatedFieldWidgetWrapper
那是在django/contrib/admin/widgets.py
.
所以我写了这个类的我的版本并更改了它render
功能。
但现在我该如何使用它呢?我的意思是......在我的模型的定义中我必须使用formfield_overrides
这样?
formfield_overrides = {
models.ForeignKey: {'widget': customRelatedFieldWidgetWrapper},
}
我认为这不是正确的方法,因为该小部件不是管理整个外键的小部件,而只是管理“+”图标。
我错了吗?
多谢。
您需要为 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)