Будет ли это взломать для разрешения на объект в Django работать?
Согласно документации, у класса могут быть разрешения мета-опций, описанные так:
Options.permissionsДополнительные разрешения для входа в таблицу разрешений при создании этого объекта. Разрешения на добавление, удаление и изменение автоматически создаются для каждого объекта, для которого задан администратор. В этом примере указывается дополнительное разрешение can_deliver_pizzas:
permissions = (("can_deliver_pizzas", "Can deliver pizzas"),)
Это список или кортеж из 2-х кортежей в формате (код_правки, имя_человека_перечисления).
Можно ли определить разрешения во время выполнения с помощью:
permissions = (("can_access_%s" % self.pk, /
"Has access to object %s of type %s" % (self.pk,self.__name__)),)
?
2 ответа
Я думаю, что в контексте Meta
класс, у вас нет доступа к self
,
Если вы ищете решение для приложения администратора, прочтите это о разрешениях на уровне строк.
Там же сказано:
Для общедоступных (т. Е. Не администраторских) представлений вы, конечно, можете свободно применять любую форму логики проверки разрешений, необходимую вашему приложению.
Нет, это не сработает по ряду причин. Во-первых, как указывает Феликс, у вас нет доступа к self
в таком случае. Во-вторых, как указано в документации, которую вы цитировали, это список элементов, которые нужно ввести в таблицу разрешений - другими словами, это фактические строки базы данных, которые создаются manage.py syncdb
,