ManyToMany
と呼ばれるフィールドを持つ Django モデルと、そのモデルimages
の単純なModelForm
ものがあります。
jQuery と非常に基本的な .xml を使用してデータを投稿しようとしていUpdateView
ます。
モデルのフィールド
images = models.ManyToManyField(
RawImage,
null = True,
)
フォーム
class PublicDataPoolForm(forms.ModelForm):
error_css_class = 'error'
class Meta:
model = PublicDataPool
UpdateView
class PublicDataPoolAddDataView(AjaxableResponseMixin, UpdateView):
model = PublicDataPool
form_class = PublicDataPool_ImagesForm
@method_decorator(user_passes_test(lambda u: user_has_active_subscription(u)))
def dispatch(self, *args, **kwargs):
return super(PublicDataPoolAddDataView, self).dispatch(*args, **kwargs)
データを投稿するjQuery
$.ajax({
type: 'post',
dataType: 'json',
url: '/rawdata/publicdatapools/' + pk + '/add-data/',
data: {images: [1, 2]}
});
ValidationError
フィールドimages
が必須であるため、取得します。で印刷request.POST
するとUpdateView
、次のようになります。
<QueryDict: {u'images[]': [u'1', u'2']}>
[]
より伝統的な方法で投稿される別のフォームで確認したところ、フィールド名にrequest.POST
それらが含まれていないため、問題はそれらにあると思います。[]
私が見逃しているものはありますか?