Форум сайта python.su
2
У меня есть таблица “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"]
Отредактировано gtlhbkkj (Апрель 25, 2020 17:07:55)
Офлайн
76
Для формирования запроса тебе подойдет использование 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")
Офлайн