我正在尝试在客户端创建一个自动完成的模型表单。我有自动完成部分;我可以输入一个字段并让服务器返回一个序列化对象列表(包括它们的主键)。现在,如何使用这些对象之一填充客户端 HTML 表单?我可以遍历表单中的所有已知字段(以及对象的已知成员)并插入每个字段,但肯定有一种更简洁的方法。
对于它的价值,我正在使用 JQuery。
在客户端,Django 表单只是一个常规的 html 表单,由于您使用的是 Ajax,我认为不会有任何 Django 特定的方法来处理这个问题。虽然循环似乎不是一个坏主意。除非您以某种方式在循环中对表单字段元素名称进行硬编码。您的序列化对象和 Django 表单的表单字段名称之间应该有一些一致的关系。这意味着您应该能够使用 JQuery 循环遍历您的表单并自动在您的序列化对象之一中找到相应的字段值。如果有的话,选择字段可能是您最大的挑战。您也可以查看序列化对象中的字段,然后通过其 id 找到相应的表单字段,然后使用 JQuery 设置其值。Django 的表单元素 id'