есть список значений одного из поля моей модели. Я хочу сделать создание объектов моей модели за один запрос (то есть использовать bulk_create)
Но перед тем как создавать эти объекты, то хочу по моему списку исключить те элементы списка, по которым уже имеются данные в БД.
Не хотелось бы пробегать по каждому элементу списка и делать запрос в БД, может быть как-то можно это сделать одним запросом?
Если у этих элементов есть какие-то уникальные поля, по которым можно однозначно получить записи из БД, то это можно перед созданием сделать один запрос к БД с этим полем и с использованием допустим фильтра __in, где значением будет список значений, которые нужно проверить. Например по списку id - SomeModel.objects.filter(id__in=[1, 3, 6]) Дальше уже можно сопоставлять из того что есть, с тем, что нужно создать
У меня сейчас есть идея, вот сделать как Вы предложили, получить именно потом список. И через множества исключить входной список и полученный результат и уже можно будет создать множествено объекты
Пожалуйста 😊
Обсуждают сегодня