Так что я пытаюсь обновить свою модель, выполнив следующие действия:Джанго F выражения объединенное поле
FooBar.objects.filter(something=True).update(foobar=F('foo__bar'))
, но я получаю следующее сообщение об ошибке:
FieldError: Joined field references are not permitted in this query
, если это не разрешено с F
выражения ... как я могу достичь этого обновления?
билет
дается информация в this ticket, теперь я понимаю, что это невозможно, и никогда не будет реализован в Джанго , но есть ли способ достичь этого обновления?, может быть, с некоторой работой? Я не хочу использовать цикл, потому что существует более 10 миллионов объектов FooBar
, поэтому SQL намного быстрее, чем python.
Вот еще один способ сделать это: "" "UPDATE app_foobar б SET Mycol = foo.othercol ОТ app_foo a ГДЕ a.id = b.foo_id "" ". –