我需要编写一个复杂的字段+小部件,它将由多个 HTML 表单元素(多个输入)呈现,在阅读完该主题后,看起来最简单的方法是子类化 Textarea 小部件,这将包含我的字段的 JSON 序列化表示,并使用 JavaScript 读取该值并动态创建我需要的任何其他内容,然后在修改值时更新 JSON 序列化。
我很乐意以其他方式做到这一点,即在 render() 方法中写出我需要的任何 HTML,并使用其他一些方法来解析原始 POST 数据以检索我需要的任何复杂数据,但它是显然不可能(?)。
无论如何,第一种方法适用于在 ModelAdmin 中包含字段的正常情况,但当字段存在于内联中时会失败。具体来说,我不明白是什么创建(克隆?)内联字段的 HTML 元素,以及我是否可以在“添加新内联”事件上连接一些 JavaScript 来执行正确的操作?
最佳答案
MultiValueField/MultiWidget 的案例: https://docs.djangoproject.com/en/1.8/ref/forms/fields/#django.forms.MultiValueField https://docs.djangoproject.com/en/1.8/ref/forms/widgets/#django.forms.MultiWidget
它允许您“解压缩”小部件的值,并“压缩”值以存储在字段/数据库中。如果您的 MultiWidget 需要由标准小部件之外的其他部件组成,您可能也需要创建它们,但听起来您需要“多个输入”。
关于javascript - Django 管理自定义小部件内联处理添加?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28919044/