如果我有两个简单的模型:
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)
给定一个带有多个标签add
的Post对象,我知道要删除它们中的任何一个,但是如何进行批量删除(全部删除)?感谢
答案 0 :(得分:22)
您是否尝试过Post.tags.clear()
?
答案 1 :(得分:-3)
如果您只需要删除2个模型之间所有实例的关系,那么您可以通过访问关系表的管理器来实现。可以通过MyModel.relations.through
访问m2m关系表,以便删除关系变得容易:
MyModel.relations.through.objects.all().delete()
参考:
https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.ManyToManyField.through