brs*_*gic 7 django admin django-admin
我想在save_modelDjango管理页面的功能中返回一些自定义错误消息 .
class EmployerAdmin(admin.ModelAdmin):
exclude = ('update_user','updatedate','activatedate','activate_user')
def save_model(self, request, obj, form, change):
if obj.department != None and obj.isDepartmentSuggested:
obj.isDepartmentSuggested =False
else:
return "You don't set a valid department. Do you want to continue ?"
obj.update_user = request.user
obj.updatedate = datetime.datetime.now()
obj.save()
Run Code Online (Sandbox Code Playgroud)
当然,Else部分不正确,但我想说明我想要的东西.
我很高兴为我建议一种方法或文件.谢谢
Bra*_*don 11
您需要使用表单在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)
Run Code Online (Sandbox Code Playgroud)
希望能帮到你.
| 归档时间: |
|
| 查看次数: |
8231 次 |
| 最近记录: |