除非满足条件,否则如何在Django admin中不显示删除确认

时间:2019-09-10 14:34:30

标签: python django django-admin

在可以删除模型之前,我覆盖了mainAxisAlignment方法以添加条件。看起来像这样:

delete_queryset

这确实可以防止删除,但是会显示错误消息,并在其下面显示def delete_queryset(self, request, queryset): if condition_is_not_met: self.message_user(request, 'Error', level=messages.ERROR) return super().delete_queryset(request, queryset) (再次,未删除,因此不应存在成功消息)。我不想显示该错误消息,如果条件不满足,甚至没有显示确认页面,那会更好(尽管这是一个奖励)。有什么建议吗?

1 个答案:

答案 0 :(得分:3)

只需重写modeladmin上的has_delete_permission方法,该方法将根据条件返回True或False。

def has_delete_permission(self, request, obj=None):
    if condition_is_not_met:
        return False
    return True

Docs