Во-первых, указывать пустой класс ModelAdmin
не нужно, если вам не нужно настраивать администратора, сработает следующее:
admin.site.register(Site) # Notice that no ModelAdmin is passed
Теперь к вашему вопросу.Вы должны создать пользовательскую форму.Затем вы переопределяете clean_domain
метод ModelForm
.Вы можете проверить любое поле с помощью метода (ов) clean_FOO
, где FOO
- имя поля.
from django import forms
class SiteAdminForm(forms.ModelForm):
def clean_domain(self):
domain = self.cleaned_data.get('domain')
# Custom validation here
return domain
class SiteAdmin(admin.ModelAdmin):
form = SiteAdminForm
admin.site.unregister(Site)
admin.site.register(Site, SiteAdmin)