Учитывая, что у вас есть режим Table1
с двумя полями, вы можете сделать это с помощью:
Table1.objects.update(field1=F('field2'))
Здесь мы используем F-expression
так что мы ссылаемся на поле , а не на значение 'field2'
.Оператор с F(..)
приведет к установке всех столбцов в строку 'field2'
(учитывая, конечно, что это даже возможно, поскольку field1
должен иметь возможность хранить текстовые данные).
С Table1.objects
мы получаем доступ к набору запросов Table1
с (если не указано иное) всеми объектами.Обратите внимание, что мы не загружаем их в память.Он используется для построения запроса.
С помощью .update(..)
мы можем затем обновить данные в строках, соответствующих набору запросов (здесь all строк, но мы могли бы также отфильтровать).
Как было сказано ранее, мы не можем просто передать 'field2'
в качестве значения.Поскольку ORM интерпретирует это для установки field1
всех строк в строку 'field2'
.Мы используем выражение F
для ссылки на столбец.