Django的选择字段,使用选择小部件,将呈现无限数量的<option>
元素。当然,当有数百种选择时,这需要很长时间并浪费大量内存。对于外键,可以使用类似于contrib.admin
的{{1}}的内容,但在硬编码值的情况下(例如,世界上所有subdivisions可供选择,来自raw_id_fields
),我不知道该怎么做,除了 A)使用AJAX提供一个列表(仍有很多值可以输出)或 B)对窗口小部件使用字段,允许窗体验证错误输入。
是否存在任何不涉及上述 A 或 B 选项的最佳做法,或者甚至是涉及选项的简单|清洁|可插拔的最佳做法A
答案 0 :(得分:1)
我曾经遇到过同样的问题,在我看来,解决这个问题的最佳方法是使用自动填充字段。这就像一个文本字段,但用户在写入该文本输入时会获得选项。
这比简单的文本字段更好,因为您不必验证值是否正确:您只能选择有效的值。
我尝试了一些应用程序,以便自动完成,并且符合我需求的最佳选择是:
https://github.com/yourlabs/django-autocomplete-light
希望它有所帮助!