Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django添加和删除表单多个字段:AttributeError:“QuerySet”对象没有属性“add”_Django_Django Models_Django Forms_Django Views - Fatal编程技术网

Django添加和删除表单多个字段:AttributeError:“QuerySet”对象没有属性“add”

Django添加和删除表单多个字段:AttributeError:“QuerySet”对象没有属性“add”,django,django-models,django-forms,django-views,Django,Django Models,Django Forms,Django Views,我试图将用户添加到我的课程模型中的多对多字段中,但我遇到了一个错误: Course.course_dislikes.through.objects.filter(course__course_code=code,course__course_university=university).add(request.user) AttributeError: 'QuerySet' object has no attribute 'add' 我的目的是根据课程代码过滤我的课程模型,并添加一个用户以喜欢

我试图将用户添加到我的课程模型中的多对多字段中,但我遇到了一个错误:

Course.course_dislikes.through.objects.filter(course__course_code=code,course__course_university=university).add(request.user)
AttributeError: 'QuerySet' object has no attribute 'add'
我的目的是根据课程代码过滤我的课程模型,并添加一个用户以喜欢某个字段,或者在用户不喜欢时将其删除。现在我知道我不能使用get,因为可能有两个对象具有相同的课程代码。目前,我正试图通过以下方式做到这一点:

Course.course_likes.through.objects.filter(course__course_code=code).remove(request.user)

我尝试过使用get,但它给了我一个错误,即存在两个同名的对象,这是可以理解的,因为get必须返回一个唯一的对象。如果没有for循环,我怎么能做到这一点,因为我想不出任何其他方法。

我认为Arakkal Abu的评论是正确的: 以下是Django官方文档中关于如何创建M2M关系的片段:

a4 = Article(headline='NASA finds intelligent life on Earth')
a4.save()
p2.article_set.add(a4)
p2.article_set.all()
>>> <QuerySet [<Article: NASA finds intelligent life on Earth>]>
a4.publications.all()
>>> <QuerySet [<Publication: Science News>]>

不确定,如果有其他的方法-考虑一下。但无法找到解决方案。在这种情况下,随文档一起使用总是很好的。

AFAIK,没有文档,您就无法完成此操作loop@ArakkalAbu是的,看起来你是对的,没有一个查询可以一次检索所有信息。