Как обновить состояние юзера в Django?

Ребят всем привет.

Сейчас пилю проект, где будет присутствовать платный контент, который будет доступен юзеру только после оплаты.

Задача: Юзер входит в систему, проводит оплату, получает доступ к закрытому контенту.

Я думаю, что надо в модель привязать какой-то доп-параметр, который и будет выступать классификатором free/paid-User. И уже с помощью этого параметра во вьюшке выводить тот или иной шаблон.

Правильно ли я думаю, или есть какие-то более простые и понятные решения для этого?
  • Вопрос задан
  • 266 просмотров
Пригласить эксперта
Ответы на вопрос 3
@deliro
Если есть только два состояния юзера:
1) Юзер не имеет доступа к платному контенту
2) Юзер имеет доступ к платному контенту

То такой вариант норм. Я бы добавил datetime nullable поле paid_till (проплачено до [если, конечно, есть некая подписка]) и создал метод
def is_paid(self):
    if self.paid_till is None:
        return False
    return self.paid_till >= timezone.now()

И им проверял бы, есть подписка у юзера или нет.
Ответ написан
а если посмотреть на это с другой стороны ?
вам же нужно различать контент, доступный пользователю, а не состояние юзера.
тоесть вам просто нужен менеджер контента в зависимости от статуса юзера. один из множества статусов юзера - это оплаченость контента.
так задачка по другому уже смотрится ?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы