我有一个日期时间字段 https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.DateTimeField我的模型中的字段。我想将其显示为 Django 管理站点中的复选框小部件。为此,我创建了一个自定义表单小部件。但是,我不知道如何使用我的自定义小部件only这一领域。
The Django 文档 https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.formfield_overrides解释如何使用自定义小部件all特定类型的字段:
class StopAdmin(admin.ModelAdmin):
formfield_overrides = {
models.DateTimeField: {'widget': ApproveStopWidget }
}
但这还不够细化。我只想更改它one field.
为您的 ModelAdmin 创建一个自定义 ModelForm 并将“小部件”添加到其 Meta 类中,如下所示:
class StopAdminForm(forms.ModelForm):
class Meta:
model = Stop
widgets = {
'field_name': ApproveStopWidget(),
}
fields = '__all__'
class StopAdmin(admin.ModelAdmin):
form = StopAdminForm
Done!
这方面的文档有点不直观地放置在 ModelForm 文档中,管理文档中没有提及它。看:从模型创建表单 http://docs.djangoproject.com/en/dev/topics/forms/modelforms/#overriding-the-default-field-types-or-widgets
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)