【问题标题】:Hidden select multiple items Django隐藏选择多个项目Django
【发布时间】:2012-07-30 13:27:21
【问题描述】:

我的 django 应用程序中有几个表单需要支持附件。每个表单实例可以有任意数量的附件,包括没有。我想展示一个基于 jQuery 的上传小部件来管理这些上传,允许异步处理上传。附件存储在它们自己的模型中,因此从附件模型到需要附件的每个模型都是多对多的。当附件成功上传和处理后,处理上传的视图将返回附件模型中的 id,然后将其插入到表单的隐藏字段中。我目前正在尝试决定如何最好地在表单中表示这一点。

一种方法是简单地使用一个隐藏输入,该输入采用逗号分隔的 id 列表。然后,这将需要在提交时进行大量手动处理和验证,我不禁觉得这是可以避免的。

在其他地方,我将 HiddenInput 用于单个值,我正在执行类似的操作并动态地将项目添加到表单中的相关模型中。但是,我看不到如何将其从简单的外键直接扩展到多对多。

任何人都可以提出最好的方法来做到这一点?

【问题讨论】:

    标签: django django-forms django-orm


    【解决方案1】:

    尝试使用formsetsmodel_formsets创建表单来创建/编辑多个对象,也可以使用javascript在浏览器中动态添加表单。

    【讨论】:

    • 我认为表单集在这里没有帮助,我的问题不是添加上传表单,而是将其返回的数据传递回原始表单。
    • 没有什么可以禁止您以您的方式使用通过表单、模型表单、模型表单集、表单集获得的数据。阅读表格/模型表格文档。你试过什么?将您当前的代码附加到问题中可能会更有用。
    猜你喜欢
    • 2023-03-27
    • 1970-01-01
    • 2021-05-19
    • 2013-08-24
    • 1970-01-01
    • 2013-11-08
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多