Django:删除所有m2m关系
如果我有两个简单的模型:Django:删除所有m2m关系,django,Django,如果我有两个简单的模型: class Tag(models.Model): name = models.CharField(max_length=100) class Post(models.Model): title = models.CharField(max_length=100) tags = models.ManyToManyField(Tag, blank=True) 给定一个带有许多标签的Post对象added,我知道如何移除其中任何一个,但是如何进行大
class Tag(models.Model):
name = models.CharField(max_length=100)
class Post(models.Model):
title = models.CharField(max_length=100)
tags = models.ManyToManyField(Tag, blank=True)
给定一个带有许多标签的Post对象
add
ed,我知道如何移除其中任何一个,但是如何进行大规模移除(全部移除)?谢谢您尝试过吗?如果您只需要删除两个模型之间所有实例的关系,那么您可以通过访问关系表的管理器来执行此操作。可以通过MyModel.relations.访问m2m关系表。通过可以轻松删除关系:
MyModel.relations.through.objects.all().delete()
参考:
它需要通过
模型访问,以便对关系的管理者进行查询。。。。你误读了这个问题:“给定一个Post对象”意味着pistacchio只想删除与该特定Post
的关系,而不是整个数据库中每个Post
和标记之间的所有关系。在这种情况下,在Post
对象上调用.tags.clear()
正是pistacchio想要的。谢谢您的纠正。标题是误导性的,我正在寻找做什么,我已经做了,所以我更新了这个线程。