Как мне обновить поле с помощью функции в Django - PullRequest
0 голосов
/ 30 октября 2019

Как мне обновить поле с помощью функции в Django, а аргумент функции - это значение поля. такие как

Data.objects.filter(need_add=1).update(need_add=Myfunc(F('need_add')))

1 Ответ

0 голосов
/ 30 октября 2019

Вы не можете. .update выполняет свою работу на уровне запросов SQL, то есть внутри ядра СУБД. Если вы не можете закодировать свою функцию в SQL, вам придется извлекать объекты, обновлять их и сохранять. .bulk_update (ссылка) в качестве оптимизации по сравнению с простой итерацией над набором запросов, сохраняющим объекты один за другим.

Функции базы данных здесь

...