我有一个 Django 模型,其中包含一个ManyToMany名为 的字段images,以及该模型的一个简单字段ModelForm。
我正在尝试使用 jQuery 和一个非常基本的UpdateView.
模型领域
images = models.ManyToManyField(
RawImage,
null = True,
)
表格
class PublicDataPoolForm(forms.ModelForm):
error_css_class = 'error'
class Meta:
model = PublicDataPool
更新视图
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如果我在 my 中打印 my UpdateView,我会得到:
<QueryDict: {u'images[]': [u'1', u'2']}>
我相信问题出在那些[],因为我已经检查了另一种以更传统方式发布的表单,并且字段名称request.POST中没有这些[]。
知道我错过了什么吗?