Django Admin: Using a custom widget for only one model field

前端 未结 4 1965

I have a DateTimeField field in my model. I wanted to display it as a checkbox widget in the Django admin site. To do this, I created a custom form widget. However, I do not

4条回答
  •  长情又很酷
    2020-12-04 11:45

    Override formfield_for_dbfield like thus:

    class VehicleAdmin(admin.ModelAdmin):
        search_fields = ["name", "colour"]
    
        def formfield_for_dbfield(self, db_field, **kwargs):
            if db_field.name == 'colour':
                kwargs['widget'] = ColourChooserWidget
            return super(VehicleAdmin, self).formfield_for_dbfield(db_field,**kwargs)
    

    (credit to http://www.kryogenix.org/days/2008/03/28/overriding-a-single-field-in-the-django-admin-using-newforms-admin/ )

提交回复
热议问题