我在学习Django,我有一些疑问: 我有这个密码
class Publication(models.Model): title = models.CharField(max_length=30) def __str__(self): return self.title class Article(models.Model): headline = models.CharField(max_length=100) publications = models.ManyToManyField(Publication) def __str__(self): return self.headline
在这段代码中,通过一个项目对象,我可以添加许多发布条目。如何使用查询从项目对象中删除条目?
只需使用 remove() 删除它 demo .
remove()
如果要删除与之关联的所有条目,请使用 clear() 如所示 link .
clear()
有关“多对多”的更多信息,请检查此 link
谢谢
鉴于 a 是你 Article 和 p 是你的吗 Publication 如果要删除,可以使用 .remove(..) [Django-doc] 功能:
a
Article
p
Publication
.remove(..)
a.publications.remove(p) # remove p from the publications of a
如果 磷 不是与相关的发布 一 ,那么这个调用基本上是一个“no op”:它不会改变任何东西,也不会引发异常。
磷
一
注意我们在这里 不 删除 Publiction 对象本身,其他对象 文章 S仍指 磷 .
Publiction
文章
这是一个“variadic”方法,因此如果您想删除 p1 , p4 和 p5 来自 publications 属于 一 ,你可以写:
p1
p4
p5
publications
a.publications.remove(p1, p4, p5) # remove three publications from a