Django Bulk Create не соблюдает ignore_conflicts для django.db.utils.IntegrityError
Я пытаюсь сделать два последовательных массовых создания для синхронизации данных в django из другого хранилища данных. Проблема в том, что хранилище данных допускает дубликаты, но я не хочу допускать этого в моей схеме django. Я не против потери дубликатов. Дубликаты основаны на двух полях элементов
Первое массовое создание генерирует кучу элементов, второе создает сквозное поле для этих элементов. Если в первом списке элементов есть дубликат, второе массовое создание завершается неудачей, поскольку оно пытается создать сквозное поле для несуществующего элемента. Я бы хотел, чтобы второе создание завершилось изящно, как первое, поскольку я использую ignore_conflicts=True
, но оно выбрасывает исключение, и другие элементы не создаются.
Еще хуже, поскольку я предоставляю первичный ключ, первое массовое создание возвращает все элементы, даже если они на самом деле не были созданы.
Я создаю сотни таких файлов каждую секунду, поэтому мне приходится использовать bulk create. Как заставить bulk create игнорировать исключение IntegrityError?
Я использую postgresql.