@lopatin_ay

Как перенести юзера в другую группу через n-дней?

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

Я вижу два решения в лоб:
1. Запускать скрипт, к примеру раз в сутки, который пробежится по аккаунтам и посмотрит не закончился ли платный тариф.
2. Обновлять информацию непосредственно при авторизации пользователя на сайте.

Первый вариант мне совсем не нравится, над вторым еще можно подумать. Но, возможно есть более "правильные" решения?
  • Вопрос задан
  • 229 просмотров
Решения вопроса 1
@iegor
Второй вариант норм, вы все равно проверяете, что он авторизован на каждой странице, добавьте проверку на истечение срока дейсвтия и принципиальной разницы между этими проверками я не вижу.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
neatsoft
@neatsoft
Life is too short for bad software
Канонический способ сделать это в джанго - добавление django-admin команды, и периодический запуск этой команды с помощью cron:
Writing custom django-admin commands
CronHowto
Ответ написан
Комментировать
astrikovd
@astrikovd
Python Developer
Встроенных решений для решения таких задач у джанги нет.
Почему вам не нравится первый вариант? Можно, через celery, например, создать periodic task и пробегаться раз в сутки по аккаунтам пользователей.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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