LINUX.ORG.RU

Посоветуйте по иерархическим моделям

 , ,


0

2

Есть следущая модель - подразделение конторы:

class Subdivision(MPTTModel):
    subdivision = CharField(verbose_name='subdivision', max_length=255)
    affiliate = ForeignKey(Group)
    parent = TreeForeignKey('self', null=True, blank=True, related_name='children')

Как бы мне красивей сделать защиту от выбора parent вне родительского affiliate?

Есть модуль django-smart-selects, но он не работает с self.

Остается только через clean() или есть другие способы?

Может я вообще неправильно изначально задумал архитектуру приложения? В итоге это должен быть корпоративный справочник, где для каждого филиала будет заведена своя группа и участники этих групп будут иметь права на редактирование своего филиала (django-guardian?).

★★★★★

Что мешает проверять на уровне вьюх, например? Так, вроде django_rest работает, там даже какой-то сахар приделали для этого. Можно ещё гуглить rule based access или https://en.wikipedia.org/wiki/Attribute-based_access_control какой-нить, но я не нашёл готовых средств. Но свой лесапед должно быть несложно сделать, у нас такое сделано.

true_admin ★★★★★
()

В форму отдавать только нужные parent ну и clean для проверки от хацкеров.

pi11 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.