0

複数のオブジェクト ID を Django フォームに渡すにはどうすればよいですか? 複数のオブジェクト ID を含む JavaScript 配列をフォーム フィールドに渡し、サーバー側で反復する方法はありますか?

4

2 に答える 2

1

CommaSeparatedIntegerFieldを使用して ID を保存できます。JavaScriptでデータを動的に入力する場合は、おそらくHiddenInputウィジェットを使用することもできます。

cleaned_dataサーバー側でフォームを検証した後、フォームの整数のリストを反復処理できます。

于 2012-05-11T20:17:57.690 に答える
0

新しいフィールドを作成し、'to_python' メソッドをオーバーライドすることができます。

次の基本的な例では、コンマで区切られた ID を含む文字列を受け入れ、クエリ セットを返す新しい char フィールドを作成します。

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 に答える