我有两个模型,它们之间有一对多关系:
class HomeCarrier(models.Model)
short_name = models.CharField(max_length=32, unique=True)
class CarrierZipCoverage(models.Model):
zip_code = models.CharField(max_length=5)
home_carrier = models.ForeignKey('HomeCarrier', null=True, blank=True)
根据docs
您还可以批量删除对象。每个QuerySet都有一个delete() 方法,删除该QuerySet的所有成员。
根据source评论
当我试图批量删除27k运营商的覆盖邮政编码时,我感到很惊讶删除实际上是2个查询 - 一个用于查找相关对象,另一个用于删除。
carrier.carrierzipcoverage_set.all().delete()
我在数据库中每100行都有一个删除查询。而我希望一次只能在mysql日志中看到所有覆盖邮政编码的一个删除查询。
问题是有一种方法可以使用单个删除查询从数据库中删除所有实体而无需求助于raw sql吗?