django与ModelMultipleChoiceField的“太多SQL变量”错误

时间:2012-04-22 21:03:32

标签: python django sqlite

我有一个带有ModelMultipleChoiceField的表单,当用户在选择小部件中选择超过1000个条目并发布表单时,我得到'DatabaseError: too many SQL variables'(使用SQLite)。

问题似乎是clean的方法ModelMultipleChoiceField,它试图仅通过IN SQL子句从数据库中选择对象(例如SELECT * FROM projects WHERE id IN( 1,2,3))。当IN参数中的数字数量超过1000时,too many SQL variables就会发生。

我使用的是最新版本的Django(1.5.dev17922),虽然我认为这是无关紧要的,因为类似的问题甚至发生在旧版本中。

我一直在通过自定义临时模型解决这个问题,我用它来连接更复杂的查询。但在我看来,似乎已经有一个系统的解决方案来解决这个问题(我希望有人可以向我指出),或者至少需要对它有所帮助 - 如何你解决类似的情况吗? - 在这种情况下,我可以开始思考如何提出一些可以在以后加入Django的一般内容。

感谢您的任何建议或帮助。

编辑:我向django-users ML发布了同样的问题,并进行了相当富有成果的讨论; https://groups.google.com/forum/?fromgroups#!topic/django-users/aI7uO49UVRU

0 个答案:

没有答案