Как сказал Виллем, проблема в ValetsView.permission_required
. Это должно быть просто permission_required
. Полный код:
class ValetView(PermissionRequieredMixin, View):
permission_required = 'lav.add_valets'
class ValetsEditView(ValetsView)
permission_required = 'lav.edit_valets'
Теперь это должно работать для вас. Я также удалил круглые скобки вокруг разрешений, так как они не служили цели.
Что-то, что вы не просили
Следующее также было бы допустимым, поскольку Django поддерживает указание последовательности кортежей. Обратите внимание на конечный ,
ниже, который требуется для указания кортежа из одного значения в Python:
class ValetView(PermissionRequieredMixin, View):
permission_required = ('lav.add_valets',)
class ValetsEditView(ValetsView)
permission_required = ('lav.edit_valets',)
В вашем коде у вас было ('lav.edit_valets')
(без завершающего ,
), который python не интерпретирует как кортеж, скорее он просто удаляет скобки и видит его как строку 'lav.edit_valets'
. Просто один из тех маленьких причуд.