Django を介してアクセスする大きな PostgreSQL テーブルがあります。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() メソッドに渡すのは適切ではありません。これは、必要な .filter() などの追加の ORM 機能をサポートしていない RawQuerySet を返すためです。
ありがとう。