@demortall

Как проверить прошла ли время из бд через ORM django?

Я впервые дотронулся до DJANGO ORM до этого отправлял сырые запросы.
В бд записано когда заканчивается лицензия и мне нужно проверить не истек ли он
До этого делал
def license(id):
        conn = connect_db()
        cur = conn.cursor()
        start = datetime.today().strftime("%Y-%m-%d")
        cur.execute(
            f"SELECT * FROM users WHERE id=%s and license >= %s", [id, start])
        license1 = cur.fetchone()
        conn.close()
        if license1 is not None:
            return True
        else:
            return False
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
AlexNest
@AlexNest
Работаю с Python/Django
1.Чтобы работать с ORM, у вас должны быть созданы соответствующие модели.
2. ORM запрос, аналогичный приведенному вами sql будет:
User.objects.filter(id=id, license__gte=start) # Юзер это стандартная модель из приложения авторизации. Если вы подразумеваете какого-то другого юзера, то и модель называться будет по-другому.

Более подробно в доках
Ну и чисто для себя - почему вдруг решили начинать изучать Django со столь необычной стороны? Его же обычно именно из-за ORM и берут?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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