如何在django-ajax_select字段中呈现默认值

时间:2018-07-18 16:22:52

标签: django python-3.x django-forms django-widget django-ajax-selects

我正在对我的m2m和外键字段使用ajax_select,它可以正常工作,但未呈现该字段的默认值,而是正在使用空值("|")。 我没有在管理面板中使用ajax_select,因此在管理面板中打开该表单时,字段已经具有默认值。这意味着它们的默认值不是问题,而在ajax_select字段中。

现在正在播放什么:

<input type="hidden" name="colours" id="id_colours" value="|" data-ajax-select="autocompleteselectmultiple" data-plugin-options="{&quot;source&quot;: &quot;/ajax_select/ajax_lookup/colours&quot;, &quot;html&quot;: true}" data-changed="true">

我想要的是:

<input type="hidden" name="colours" id="id_colours" value="|8|" data-ajax-select="autocompleteselectmultiple" data-plugin-options="{&quot;source&quot;: &quot;/ajax_select/ajax_lookup/colours&quot;, &quot;html&quot;: true}" data-changed="true">

如果至少在name=colour中初始化了默认值,我可以显示默认值为White的帮助文本。

当我搜索ajax_select文档时,却找不到与之相关的任何内容,有人知道如何在ajax_select字段中呈现默认值。

此问题仅发生在我身上还是ajax_select没有此默认值功能?

1 个答案:

答案 0 :(得分:0)

这可以通过将get_form()方法重写为:

def get_form(self,form_class=None):
    form = super().get_form(form_class)
    form['colours'].initial = '8'
    return form

现在默认值是手动设置的,并且可以在ajax_select中使用。