django管理员对其许多字段使用自定义窗口小部件。覆盖字段的方法是创建一个供ModelAdmin对象使用的Form。
# forms.pyfrom django import formsfrom django.contrib import adminclass ProductAdminForm(forms.ModelForm): def __init__(self, *args, **kwargs): super(ProductAdminForm, self).__init__(*args, **kwargs) self.fields['tags'].widget = admin.widgets.AdmintextareaWidget()
然后,在ModelAdmin对象中,指定以下形式:
from django.contrib import adminfrom models import Productfrom forms import ProductAdminFormclass ProductAdmin(admin.ModelAdmin): form = ProductAdminFormadmin.site.register(Product, ProductAdmin)
您还可以在此时覆盖queryset:例如,根据模型中的另一个字段过滤对象(因为
limit_choices_to无法处理)



