我的模型中有一个DateTimeField字段。我想将其显示为Django管理站点中的复选框小部件。为此,我创建了一个自定义表单小部件。但是,我不知道如何仅将我的自定义窗口小部件用于这一字段。
在Django文档解释了如何使用自定义窗口小部件的所有特定类型的字段:
class StopAdmin(admin.ModelAdmin): formfield_overrides = { models.DateTimeField: {'widget': ApproveStopWidget } }
但是,这还不够精细。我只想更改一个字段。
为你的ModelAdmin创建一个自定义ModelForm并将“ widgets”添加到其Meta类,如下所示:
class StopAdminForm(forms.ModelForm): class Meta: model = Stop widgets = { 'approve_ts': ApproveStopWidget(), } fields = '__all__' class StopAdmin(admin.ModelAdmin): form = StopAdminForm
做完了!