首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Django中设置Django-Select2控件的初始值

如何在Django中设置Django-Select2控件的初始值
EN

Stack Overflow用户
提问于 2017-07-24 22:52:08
回答 1查看 3K关注 0票数 4

我将django-select2插件用于一个字段,它允许用户从数据库(由AJAX驱动)的列表中选择一个机构,它工作得很好。以下是forms.py中的字段

代码语言:javascript
复制
    institution = forms.CharField(
    widget = ModelSelect2Widget(
        queryset=Institution.objects.all(),
        attrs={'class': 'form-control'},
        model=Institution,
        search_fields=['name__icontains'],
        max_results=500,
    ),

使用相同的表单,用户可以编辑/更改以前选择的研究所。但是,为此,我希望将该字段的初始选定值设置为先前选定的机构。这给我带来了很多麻烦,因为尽管我尝试了很多东西,但我还是无法为插件设置初始值。

理想情况下,我希望在不使用任何Javascript(仅使用Django表单选项)的情况下设置插件的初始值,类似于:

代码语言:javascript
复制
current_instutition = Institution.objects.get(user=page_user)
form.fields['institution'].initial = current_institution  

(上述方法不起作用)

我尝试使用Select2占位符选项在页面加载过程中使用以下Javascript代码手动设置:

代码语言:javascript
复制
$("#id_institution").djangoSelect2({
                    placeholder: {
                        id: '123',
                        text: 'My Institution'
                        }
                    });

(插件仍然加载,有一个空的(或没有)占位符)我不确定django-select2是否覆盖了手动的Select2选项。

任何帮助都是非常感谢的。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2019-08-13 22:01:17

您的institution字段是CharField,而不是ModelChoiceField。这就是这一行不正确的原因:

代码语言:javascript
复制
form.fields['institution'].initial = current_institution  
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45283717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档