Django选择领域有很多选择 - 有一个简单的解决方案是有效的吗?

时间:2013-03-21 00:50:32

标签: python django forms django-forms

Django的选择字段,使用选择小部件,将呈现无限数量的<option>元素。当然,当有数百种选择时,这需要很长时间并浪费大量内存。对于外键,可以使用类似于contrib.admin的{​​{1}}的内容,但在硬编码值的情况下(例如,世界上所有subdivisions可供选择,来自raw_id_fields),我不知道该怎么做,除了 A)使用AJAX提供一个列表(仍有很多值可以输出)或 B)对窗口小部件使用字段,允许窗体验证错误输入。

是否存在任何不涉及上述 A B 选项的最佳做法,或者甚至是涉及选项的简单|清洁|可插拔的最佳做法A

1 个答案:

答案 0 :(得分:1)

我曾经遇到过同样的问题,在我看来,解决这个问题的最佳方法是使用自动填充字段。这就像一个文本字段,但用户在写入该文本输入时会获得选项。

这比简单的文本字段更好,因为您不必验证值是否正确:您只能选择有效的值。

我尝试了一些应用程序,以便自动完成,并且符合我需求的最佳选择是:

https://github.com/yourlabs/django-autocomplete-light

希望它有所帮助!