Будет ли это взломать для разрешения на объект в 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,

Другие вопросы по тегам