Здравствуйте, подскажите, пожалуйста, существует ли какой-то встроенный механизм который позволит автоматически перенести юзера в другую группу через заданный промежуток времени? Задача по сути состоит в том, чтобы реализовать разные типы аккаунтов (платные и бесплатные), и соответственно по истечению срока действия платного аккаунта, юзер должен попасть в группу к бесплатным.
Я вижу два решения в лоб:
1. Запускать скрипт, к примеру раз в сутки, который пробежится по аккаунтам и посмотрит не закончился ли платный тариф.
2. Обновлять информацию непосредственно при авторизации пользователя на сайте.
Первый вариант мне совсем не нравится, над вторым еще можно подумать. Но, возможно есть более "правильные" решения?
Второй вариант норм, вы все равно проверяете, что он авторизован на каждой странице, добавьте проверку на истечение срока дейсвтия и принципиальной разницы между этими проверками я не вижу.
Pan Propan: ну это смотря где хранится ваше время, засунете в юзера, не будет, в какой-нибудь профайл - будет если он больше не для чего не используется, в любом случае и то, и то можно закешировать
Встроенных решений для решения таких задач у джанги нет.
Почему вам не нравится первый вариант? Можно, через celery, например, создать periodic task и пробегаться раз в сутки по аккаунтам пользователей.