我有一个型号 * 阅读器 * ModelChoiceField
* favorite_book*,这是一个外键。它是一个下拉菜单,用户可以从40.000个可能的选项中选择一个(数据库中的记录)。编辑此Model对象和此特定字段时出现问题,因为DropDown正在使用数据库中的所有记录填充,这会占用太多时间和内存。因此,我必须找到一种方法,以某种方式呈现这个字段与一个匹配的选项(该用户以前选择并保存在DB中)单独,而不是与成千上万的其他选项。我试过:readerForm.fields['books'].initial = Books.objects.get(id=url)
但是initial
不能处理绑定表单。
我有$. AJAX 请求,稍后将根据输入过滤这些40.000选项,以便用户可以选择一些其他选项,如果需要的话。
1条答案
按热度按时间2g32fytz1#
经过几天的挣扎,我终于遇到了this问题,它帮助我解决了这个问题。顺便说一句,我不知道为什么官方文档中缺少关于初始化表单,字段,示例,
__init__()
方法等的内容-我想我已经阅读了大约50个Stackoverflow问题,并没有在官方文档中找到这些问题和答案中提到的任何内容。无论如何,我定义了__ init__()方法并修改了ChoiceField如下: