django更新m2m字段

时间:2010-05-03 12:18:37

标签: django django-forms

我有一个模型服务和一个名为Service的ModelForm,我用它来添加和更新服务模型。该模型如下所示:

class Service(models.Model):
    categories = models.ManyToManyField(Category)

“类别”字段显示为标记,允许多个选择。当我添加新记录时,它运行良好,但是当我更新它时,即使我选择了多个类别,也只会在request.POST ['categories']上显示一个服务。

我尝试转储请求对象,我可以看到类别显示的内容如下:

u'categories': [u'3', u'4', u'2']

我尝试调用request._get_post()并且它确实只返回1个类别,因此request.POST ['categories']仅返回1.任何知道发生了什么以及如何解决它的人?

1 个答案:

答案 0 :(得分:6)

您可能想要使用

request.POST.getlist('categories')

将返回该表单字段的所有选定值。