Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.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中的对象中删除条目_Django - Fatal编程技术网

如何从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.

我正在学习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对象,我可以添加许多发布条目。如何使用查询从文章对象中删除条目?

如果
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()
,如中所示

有关多对多的更多信息,请检查此项

谢谢

你试过这个方法吗?