я пытаюсь построить queryset
для обновления данных с When Case
.Он может быть построен только после одного цикла for
с динамическим параметром.
Пример у меня есть модель Employee
:
class Employee(models.Model):
account_type = models.TextField(blank=True, null=True)
Я хочу обновить его следующим образом: если id = 1, то значение = 1, если значение = 2, то значение = 2
Employee.objects.update(
account_type=Case(
When(id=1,
then=Value("1")),
When(id=2,
then=Value("2")),
),
)
но я хочу, чтобы id
был динамическим, поэтому я не могу создать статический набор запросов.Я хочу построить Case
в одном for loop
.Мой идеал такой:
final_case = None
for one_id in list_id:
final_case += Case(When(id=one_id, then=Value(one_id)))
Я хочу построить final_case
и обновлять только как
Employee.objects.update(account_type=final_case)
Кто-нибудь знает, как это сделать?Спасибо