У меня есть большая таблица PostgreSQL, через которую я обращаюсь через Django. Поскольку Django ORM не поддерживает функции окна, мне нужно испечь результаты оконной функции в таблице как обычный столбец. Я хочу сделать что-то вроде этого:
UPDATE table_name
SET col1 = ROW_NUMBER() OVER ( PARTITION BY col2 ORDER BY col3 );
Но я получаю ERROR: cannot use window function in UPDATE
Может ли кто-нибудь предложить альтернативный подход? Передача синтаксиса оконных функций с помощью метода Django.raw() не подходит, поскольку он возвращает RawQuerySet, который не поддерживает дополнительные функции ORM, такие как .filter(), которые мне нужны.
Спасибо.