フォームがあり、ユーザーが選択ウィジェットで 1000 を超えるエントリを選択してフォームを投稿すると、(SQLite を使用して)ModelMultipleChoiceField
取得しています。'DatabaseError: too many SQL variables'
問題は、単純にSQL 句 (たとえば、SELECT * FROM projects WHERE id IN (1,2,3))によってデータベースからオブジェクトを選択しようとする の方法clean
にあるようです。IN 引数の数値の数が 1000 を超えると、この問題が発生します。ModelMultipleChoiceField
IN
too many SQL variables
Django の最新バージョン (1.5.dev17922) を使用していますが、古いバージョンでも同様の問題が発生したため、関係ないと思います。
私は常に、より複雑なクエリの結合に使用するカスタムの一時モデルによって、この問題を回避してきました。しかし、私が見逃しているこの問題に対する体系的な解決策がすでに存在するか (誰かが私に指摘してくれることを願っています)、少なくともその必要性が必要であると思われることがますます増えています。同様の状況に対処しますか?-- その場合、後で Django に組み込むことができる一般的なものを提案する方法を考え始めることができます。
提案や助けをありがとう。
編集:同じ質問を django-users ML に投稿しましたが、非常に実りある議論が行われました。https://groups.google.com/forum/?fromgroups#!topic/django-users/aI7uO49UVRU