Удалить записи из таблицы ManyToMany с помощью _raw_delete - PullRequest
0 голосов
/ 12 февраля 2020

У меня в базе данных огромное количество данных. Я не могу использовать метод .delete (), потому что производительность Django ORM в моем случае недостаточна. Метод _raw_delete () подходит мне, потому что я могу сделать это python вместо использования raw SQL. Но у меня есть проблема, я понятия не имею, как я могу удалить таблицы отношений, используя _raw_delete. Их нужно удалить до того, как модели вызовут ограничение в БД. Есть идеи, как мне этого добиться?

1 Ответ

0 голосов
/ 13 февраля 2020

Я нашел решение. Вы можете работать с моделью связи следующим образом:

link_model = MyModel._meta.get_field('my_m2m_field').remote_field.through
qs = link_model.objects.filter(mymodel_id__in=mymodel_ids)
qs._raw_delete(qs.db)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...