我正在学习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
在此代码中,我可以使用Article对象添加许多Publication条目。如何使用查询从Article对象中删除条目?
答案 0 :(得分:0)
假设a
是您Article
,而p
是您要删除的Publication
,则可以使用.remove(..)
[Django-doc]函数:
a.publications.remove(p) # remove p from the publications of a
如果p
不是与a
相关的出版物,则此调用基本上是“禁止操作”:它不会更改任何内容,也不会引发异常。
请注意,这里我们不删除Publiction
对象本身,有可能其他Article
仍引用p
。
这是一种“可变”方法,因此,例如,如果您要从p1
的{{1}}中删除p4
,p5
和publications
,你可以这样写:
a
答案 1 :(得分:0)