gpt4 book ai didi

Django admin 在模型保存期间返回自定义错误消息

转载 作者:行者123 更新时间:2023-12-04 10:56:36 24 4
gpt4 key购买 nike

我想在 save_model 中返回一些自定义错误消息Django 管理页面的功能。

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()

当然, Else部分不正确,但我想说明我想要什么。

我很高兴向我建议一种方法或文件来做到这一点。
谢谢

最佳答案

您需要使用表单在 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 admin 在模型保存期间返回自定义错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6821161/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com