如何从django中的对象中删除条目
我正在学习Django,在查询中遇到了一些问题: 我有这个密码如何从django中的对象中删除条目,django,Django,我正在学习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.
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
在这段代码中,通过一个Article对象,我可以添加许多发布条目。如何使用查询从文章对象中删除条目?如果
a
是您的文章
,而p
是您的出版物
您要删除,可以使用以下功能:
a.publications.remove(p) # remove p from the publications of a
如果p
不是与a
相关的出版物,则此调用基本上是“无操作”:它不会更改任何内容,也不会引发异常
请注意,这里我们不删除发布
对象本身,其他文章
可能仍然引用p
这是一种“可变”方法,因此,如果您想从a
的出版物中删除p1
、p4
和p5
,您可以编写:
a.publications.remove(p1, p4, p5) # remove three publications from a
只需使用remove()
将其删除即可
如果要删除与其关联的所有条目,请使用clear()
,如中所示
有关多对多的更多信息,请检查此项
谢谢你试过这个方法吗?