Как удалить данные из db через время?
Сто раз этот вопрос тут уже задавали. Подписки реализуются не удалением данных, а записью в БД времени, до которого действует подписка, и сверка этого времени с текущим.
Реализовать периодические задачи, которые будут сверять текущее время со временем окончания подписки и совершать соответсвующие операции.
Cron или celery в помощь.