【问题标题】:How to render default values in django-ajax_select field如何在 django-ajax_select 字段中呈现默认值
【发布时间】:2018-12-26 15:46:50
【问题描述】:

我正在为我的 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 没有这个默认值功能?

【问题讨论】:

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


    【解决方案1】:

    这可以通过重写get_form() 方法来实现:

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

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

    【讨论】:

      猜你喜欢
      • 2011-09-04
      • 1970-01-01
      • 2014-10-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-19
      • 2011-12-31
      • 2010-11-21
      相关资源
      最近更新 更多