Python 删除时更改django admin中的默认消息
我有一个模型,用户可以在其中添加一些数据,并将这些数据分配给特定的月份。但是,如果该用户已经添加了一些项目,并试图删除分配给上个月的特定数据,则应将其锁定 我成功地做到了这一点,但我现在的问题是给用户的消息。我想删除默认消息的删除按钮的管理,但直到现在没有成功 以下是问题的图像: 管理员Python 删除时更改django admin中的默认消息,python,django,Python,Django,我有一个模型,用户可以在其中添加一些数据,并将这些数据分配给特定的月份。但是,如果该用户已经添加了一些项目,并试图删除分配给上个月的特定数据,则应将其锁定 我成功地做到了这一点,但我现在的问题是给用户的消息。我想删除默认消息的删除按钮的管理,但直到现在没有成功 以下是问题的图像: 管理员 class monthryreleaseadmin(admin.ModelAdmin): form=MonthryReleaseForm def get_操作(自我、请求): actions=super()。获
class monthryreleaseadmin(admin.ModelAdmin):
form=MonthryReleaseForm
def get_操作(自我、请求):
actions=super()。获取\u操作(请求)
如果在操作中选择了“删除”:
删除操作['delete_selected']
返回操作
def delete_型号(自我、请求、obj):
如果不是有效日期(obj):
messages.add_消息(请求,messages.ERROR,“未删除”)
其他:
super().删除_模型(请求,obj)
管理站点注册(MontlyRelease,MontlyReleaseAdmin)
您可以覆盖以防止删除:
class MontlyReleaseAdmin(admin.ModelAdmin):
# …
def has_delete_permission(self, request, obj=None):
if not is_valid_date(obj):
messages.add_message(request, messages.ERROR, 'Not Deleted')
return False
return super().has_delete_permission(request, obj)
class monthryreleaseadmin(admin.ModelAdmin):
# …
def具有删除权限(self、request、obj=None):
如果不是有效日期(obj):
messages.add_消息(请求,messages.ERROR,“未删除”)
返回错误
return super()具有删除权限(请求,obj)
因此,您不会覆盖
delete\u model(…)
方法本身,而是检查是否可以删除对象的方法。您可以在delete\u model
中提升PermissionDenied
。