如何在 django-ajax_select 字段中呈现默认值
How to render default values in django-ajax_select field
我正在为我的 m2m 和外键字段使用 ajax_select,它工作正常但它没有呈现该字段的默认值,而是呈现空值 ("|"
)。
我没有在我的管理面板中使用 ajax_select,所以当我在管理面板中打开该表单时,字段已经具有默认值。这意味着它们在默认值中没有问题,但在 ajax_select 字段中。
它正在渲染什么:
<input type="hidden" name="colours" id="id_colours" value="|" data-ajax-select="autocompleteselectmultiple" data-plugin-options="{"source": "/ajax_select/ajax_lookup/colours", "html": true}" data-changed="true">
我想要的是:
<input type="hidden" name="colours" id="id_colours" value="|8|" data-ajax-select="autocompleteselectmultiple" data-plugin-options="{"source": "/ajax_select/ajax_lookup/colours", "html": true}" data-changed="true">
如果至少在 name=colour
中初始化默认值,我可以显示默认值为 White
.
的帮助文本
当我搜索 ajax_select 的文档时,没有找到与之相关的内容,有谁知道如何在 ajax_select 字段中呈现默认值。
这个问题是只有我遇到还是ajax_select没有这个默认值功能?
这可以通过覆盖 get_form()
方法来实现:
def get_form(self,form_class=None):
form = super().get_form(form_class)
form['colours'].initial = '8'
return form
现在默认值是手动设置的,也适用于 ajax_select
。
我正在为我的 m2m 和外键字段使用 ajax_select,它工作正常但它没有呈现该字段的默认值,而是呈现空值 ("|"
)。
我没有在我的管理面板中使用 ajax_select,所以当我在管理面板中打开该表单时,字段已经具有默认值。这意味着它们在默认值中没有问题,但在 ajax_select 字段中。
它正在渲染什么:
<input type="hidden" name="colours" id="id_colours" value="|" data-ajax-select="autocompleteselectmultiple" data-plugin-options="{"source": "/ajax_select/ajax_lookup/colours", "html": true}" data-changed="true">
我想要的是:
<input type="hidden" name="colours" id="id_colours" value="|8|" data-ajax-select="autocompleteselectmultiple" data-plugin-options="{"source": "/ajax_select/ajax_lookup/colours", "html": true}" data-changed="true">
如果至少在 name=colour
中初始化默认值,我可以显示默认值为 White
.
当我搜索 ajax_select 的文档时,没有找到与之相关的内容,有谁知道如何在 ajax_select 字段中呈现默认值。
这个问题是只有我遇到还是ajax_select没有这个默认值功能?
这可以通过覆盖 get_form()
方法来实现:
def get_form(self,form_class=None):
form = super().get_form(form_class)
form['colours'].initial = '8'
return form
现在默认值是手动设置的,也适用于 ajax_select
。