Django admin возвращает пользовательское сообщение об ошибке при сохранении модели

Я хотел бы вернуть некоторые пользовательские сообщения об ошибках в

2 ответов


вам нужно использовать форму для проверки в EmployerAdmin:

#forms.py
from your_app.models import Employer

class EmployerAdminForm(forms.ModelForm):
    class Meta:
        model = Employer

    def clean(self):
        cleaned_data = self.cleaned_data
        department = cleaned_data.get('department')
        isDepartmentSuggested = cleaned_data.get('isDepartmentSuggested')
        if department == None and not isDepartmentSuggested:
            raise forms.ValidationError(u"You haven't set a valid department. Do you want to continue?")
        return cleaned_data

#admin.py
from django.contrib import admin
from your_app.forms import EmployerAdminForm
from your_app.models import Employer

class EmployerAdmin(admin.ModelAdmin):
    exclude = ('update_user','updatedate','activatedate','activate_user')
    form = EmployerAdminForm

admin.site.register(Employer, EmployerAdmin)

надеюсь, что это поможет вам.


Я использую Django 1.6.3, и я хотел бы добавить к ответу Брэндона.

добавить admin.site.register(Employer, EmployerAdmin) отдельной строкой ниже EmployerAdmin класса, то есть ниже form = EmployerAdminForm, unindented.

мне потребовалось некоторое время, чтобы понять, почему ответ Брэндона не работал для меня, и проверки не выполнялись, по-видимому, вам просто нужно сначала зарегистрировать его в admin.

Ура.