Вот ситуация. У меня есть приложение с несколькими пользователями, и у каждого пользователя есть группа / компания, к которой они принадлежат. Во всех моделях есть поле company
, означающее, что в каждой таблице в БД есть соответствующий столбец company_id
. Я хочу прозрачно обеспечить, чтобы, когда пользователь пытается получить доступ к какому-либо объекту, он всегда ограничивался объектами в своем «домене», например, их группа / компания. Я мог бы пройтись по каждому запросу и добавить фильтр, который говорит .filter(company=user.company)
, но я надеюсь, что есть лучший способ сделать это на более низком уровне, так что он прозрачен для любого, кто кодирует логику более высокого уровня.
Есть ли у кого-нибудь опыт с этим и / или мы можем указать нам хороший ресурс о том, как подойти к этому? Я предполагаю, что это довольно распространенное требование.