【问题标题】:How to render an edit form based on a many to many field如何基于多对多字段呈现编辑表单
【发布时间】:2015-03-04 23:15:24
【问题描述】:

如何制作一个显示ModelMultipleChoiceField 的编辑表单,其中用户选择的字段已填写?

我在模型中有一个名为 items 的字段,它是 ManyToManyField,在表单中我使用 ModelMultipleChoiceField 来呈现它,但是当我在编辑表单中使用 {{ form.items }} 时,选择不显示用户已经选择的内容。

如何在呈现的多选框中将已选择的字段标记为已选择?

【问题讨论】:

    标签: django django-forms


    【解决方案1】:

    在实例化表单时,您可以传递字段的初始值。

    你可以这样做

    form = Form(initial={'items':<items_queryset>.values('id', flat=True)})
    

    或者如果你使用的是模型表单,你可以传递一个模型实例

    form = Form(instance=model_instance)
    

    来源:dynamic initial values in django forms

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-15
      • 2012-11-06
      • 2021-07-24
      • 1970-01-01
      • 2022-01-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多