I have two models with one to many relation between them:
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)
According to the docs
You can also delete objects in bulk. Every QuerySet has a delete() method, which deletes all members of that QuerySet.
According to the source comments
The delete is actually 2 queries - one to find related objects, and one to delete.
I suprised when I'm trying to bulk delete 27k carrier's coverage zip codes
carrier.carrierzipcoverage_set.all().delete()
I got one delete query for each hundred rows in database. Whereas I expected to see only one delete query in mysql log for all coverage zip codes at a time.
The question is there a way to delete all entities from the database with single delete query without recourse to raw sql?