Проверка на site.domain fieald - PullRequest
0 голосов
/ 10 июня 2011

Я импортирую из django.contrib.sites.models. Импортирую сайт в файле models.py.

В файле admin.py указано следующее:

class SitesAdmin(admin.ModelAdmin):    
    pass

admin.site.unregister(Site)
admin.site.register(Site, SitesAdmin)**

Я хочу прикрепить проверку к полю site.domain в admin.py. Как мне это сделать?пожалуйста, помогите.

1 Ответ

1 голос
/ 10 июня 2011

Во-первых, указывать пустой класс 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)    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...