Django 的选择字段,使用一个选择小部件,将渲染出无限数量的<option>
元素。当然,当有数百个选择时,这会花费很长时间并浪费大量内存。当涉及到外键时,可以使用类似于contrib.admin
's 的东西raw_id_fields
,但是对于硬编码值(例如,世界上所有可供选择的细分,来自pycountry
),我不确定该怎么做,除了A)使用 AJAX 提供列表(仍然有很多值要输出)或B)为小部件使用 char 字段,允许表单验证错误的输入。
是否有任何不涉及上述A或B选项的最佳实践,或者甚至是涉及选项A的 easy|clean|pluggable 的最佳实践?