Массовое удаление Django удаляет только сто строк одновременно
У меня есть две модели с отношением один ко многим между ними:
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)
Согласно документам
Вы также можете удалить объекты навалом. Каждый QuerySet имеет метод delete(), который удаляет всех членов этого QuerySet.
Согласно источникам комментариев
На самом деле удаление - это 2 запроса - один для поиска связанных объектов и один для удаления.
Я удивился, когда я пытаюсь массово удалить почтовые индексы покрытия оператора 27k
carrier.carrierzipcoverage_set.all().delete()
Я получил один запрос на удаление для каждой сотни строк в базе данных. Принимая во внимание, что я ожидал видеть только один запрос на удаление в журнале mysql для всех почтовых индексов покрытия за один раз.
Вопрос в том, есть ли способ удалить все объекты из базы данных с помощью одного запроса на удаление без обращения к raw sql?