Django Защищенный просмотр на основе, если модель имеет объект + Специфика c Доступ пользователя - PullRequest
0 голосов
/ 21 февраля 2020

Это немного более теоретично, так как я еще не до конца определился, как лучше всего это сделать.

Часть 1

Пользователь может создать портфолио ios и связать сообщения с этим портфелем ios. Если портфель настроен как частный, то только пользователь должен видеть сообщение. Поскольку сообщение может иметь более 1 портфолио, если ЛЮБОЙ из этих связанных портфелей ios настроен как частный, сообщение не будет доступно для публикации c.

  1. В идеале, где бы это было сделано - в шаблоне или представлении?
  2. Как бы выглядел код там?
  3. Это должно быть готово для интеграции с Часть 2

Часть 2

Мне нужен пользователь, чтобы иметь возможность добавлять других пользователей в портфель. Таким образом, если пользователь вошел в приложение, он по-прежнему может просматривать сообщение, если владелец портфолио добавил свое имя в список пользователей, которые "имеют доступ" к частному портфелю. Как лучше всего это осуществить? Я предполагаю, что мне, возможно, понадобится другой класс и / или поле внутри класса Portfolio.

models.py

class Portfolio(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    name = models.CharField(max_length=20)
    description = models.CharField(max_length=250, blank=True, null=True)
    private = models.BooleanField(default=False)

class Post(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    title = models.CharField(max_length=50)
    body = RichTextUploadingField(blank=True, null=True)
    associated_portfolios = models.ManyToManyField(Portfolio, blank=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...