Использование When и Less then в Django DRF?
Я пытаюсь проверить, где число GreaterThan
другое число в request.data
и установить значение, если условие истинно.
ExampleModel.objects.filter(
tic=request.data['tic']).update(last_high=When(GreaterThan(F('last_high'), request.data['high']), then=0))
Ошибка:
django.db.utils.OperationalError: возле "WHEN": синтаксическая ошибка
Я не уверен, как действовать дальше, пытаюсь понять документацию, но не могу найти, почему она не работает.
Может ли что-то подобное помочь?
ExampleModel.objects.filter(tic=request.data['tic'], last_high__gt=request.data['high']).update(last_high=0)
РЕДАКТИРОВАНИЕ: После некоторой переписки в разделе комментариев, правильным ответом будет
ExampleModel.objects.filter(tic=request.data['tic']).update(last_high=Case(When(LessThan(F('high_price'), request.data['high']), then=Value(101)), default=Value(0)))