Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 删除时更改django admin中的默认消息_Python_Django - Fatal编程技术网

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