AttributeError:'RelatedManager'对象没有属性'remove'

Lut*_*elt 6 django django-models

在我的代码中某处说

publisher.publisherperson_set.remove(email__in=pp_remove_set)
Run Code Online (Sandbox Code Playgroud)

执行此操作后,我得到了

AttributeError:'RelatedManager'对象没有属性'remove'

确实:我查看了一下dir(publisher.publisherperson_set),它进行了很多操作(包括add),但没有remove

在什么情况下有可能?

jmu*_*sch 7

自从我通过相关搜索来到这里后才发布此信息 AttributeError: 'RelatedManager' object has no attribute 'delete'

我要找的是:

thing.stuff_set.all().delete()
Run Code Online (Sandbox Code Playgroud)

注:还在学习Django的,但我假设任何查询集操作filterallorder_byexcludeannotate,等

可以使用。虽然我目前不确定查询集列表返回的细微差别all()和以下内容stuff_set


Lut*_*elt 5

不可能是 null

文档RelatedManager.remove()

对于ForeignKey对象,此方法仅在存在时存在null=True。如果相关字段不能设置为NoneNULL),则无法将一个对象从某个关系中删除而不将其添加到另一个对象中。

显而易见,一旦您考虑了一下。
我真正打算做的是:

publisher.publisherperson_set.filter(email__in=pp_remove_set).delete()
Run Code Online (Sandbox Code Playgroud)