Найти - Пользователи
Полная версия: Django. Как реализовать условия в запросе? или как удалить элемент из списка
Начало » Python для новичков » Django. Как реализовать условия в запросе? или как удалить элемент из списка
1
gtlhbkkj
У меня есть таблица “Table” и строковое поле “field”.
Мне нужно реализовать в запросе следующее условие:

 if (field.isdigit() and len(strip(field)) <= 4):
    do somethimg

или

 if (field.isdigit() and int(field) <= 10000):
    do somethimg

Как это выглядит в квери запросе у Джанго?
то есть мне нужно получить что-то типа этого
 Table.objects.filter(условие).update(field="xxx")
.
или же мне нужно альтернативное решение - как удалить элемент из списка.
Есть список с несколькими строковыми значениями типа
 ["qqqqq", "eeeee", "dddddd", "aaa"]
.
Как найти в списке члены, длина которых, например, меньше/равна 3 символа и удалить их из списка?
перебор по одному исключен
Спасибо
Romissevd
Для формирования запроса тебе подойдет использование Q object
попробуй сформировать запрос как-то так
 from django.db.models import Q
Table.objects.filter((Q(field.isdigit()) & Q(len(strip(field)) <= 4) | (Q(field.isdigit() & Q(int(field) <= 10000))).update(field="xxx")
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB