Получение последней записи в Django из двух таблиц путем сравнения даты

У меня есть две модели - New User Request и Existing User Request, которые содержат абсолютно одинаковые поля

class new_user_request(models.Model):
    request_id = models.AutoField(primary_key=True)
    emp_id = models.CharField(max_length=70)
    request_date = models.DateTimeField(auto_now_add=True)
    expiration_date = models.CharField(max_length=15, blank=True, null=True)


class existing_user_request(models.Model):
    request_id = models.AutoField(primary_key=True)
    emp_id = models.CharField(max_length=70)
    request_date = models.DateTimeField(auto_now_add=True)
    expiration_date = models.CharField(max_length=15, blank=True, null=True)

Как делаются записи в таблице?

Когда сотрудник поднимает запрос из фронтенда, выполняется проверка существует ли запись в таблице new_user_request для этого сотрудника.

Если существует, то запись делается в existing_user_request, если нет запись делается в new_user_request

.

Моя задача - отправлять письма с уведомлениями сотрудникам, начиная с 3 дней до истечения срока их доступа.

Мне нужна помощь в получении записей о сотрудниках на основе следующих условий:

  • Если запись существует в existing_user_request, получите записи, срок действия которых истекает в ближайшие три дня.
  • Если запись не существует в existing_user_request, получите записи из new_user_request, у которых срок действия истекает в ближайшие три дня.

Если есть django способ сделать это, пожалуйста, дайте мне знать, если нет, пожалуйста, помогите мне с sql запросом, чтобы я мог запустить это как задание cron.

Вернуться на верх