Я недавно обновил большую версию Django с 1.1 до 1.3.В приложении «Комментарии» они добавили предупреждение, так что только суперпользователи получают действие «Удалить».
Модераторы, имеющие разрешения на удаление, в результате этого не видят эти действия.Это действительно неудобно для них.
Код, о котором идет речь, находится в contrib.comments.admin, начиная со строки 28:
def get_actions(self, request):
actions = super(CommentsAdmin, self).get_actions(request)
# Only superusers should be able to delete the comments from the DB.
if not request.user.is_superuser and 'delete_selected' in actions:
actions.pop('delete_selected')
Вместо этого следует спросить, есть ли у request.user разрешения на удаление.
Как я могу переопределить это, не нарушая фактической установки Django?
(И если кто-нибудь знает, почему это было изменено, мне было бы интересно узнать.)