0

如何将多个对象 ID 传递到 Django 表单中?有没有办法将包含多个对象 ID 的 JavaScript 数组传递到表单字段并在服务器端迭代它?

4

2 回答 2

1

您可以使用CommaSeparatedIntegerField来存储 ID,如果您在 JavaScript 中动态填充数据,甚至可以使用HiddenInput小部件。

cleaned_data在服务器端验证表单后,您将能够遍历表单中的整数列表。

于 2012-05-11T20:17:57.690 回答
0

您可能想要创建一个新字段并覆盖“to_python”方法。

以下基本示例创建一个新的 char 字段,该字段接受包含用逗号分隔的 id 的字符串并返回查询集。

class MyField(forms.CharField):
    def to_python(self, value):
        ids = value.split(',')

        return MyModel.objects.filter(id__in=ids)

class MyForm(forms.Form):
    ids = MyField()

看看 Django 中的验证是如何工作的

于 2012-05-11T19:26:02.880 回答