Django - Postgress - атомарное создание экземпляра, только если не существует - PullRequest
0 голосов
/ 17 января 2020

Я хочу создать элемент, но только если «похожего» объекта не существует. Например:

name_to_be_created = "John"
age_to_be_created = 15
if not Person.objects.filter(name=name_to_be_created, age__gte=age_to_be_created).exists():
    Person.objects.create(name=name_to_be_created, age=age_to_be_created)

Обратите внимание, что намеренно условие недостаточно простое, чтобы разрешить использование get_or_create

. Как я понимаю, использование транзакции при использовании select, а затем insert не гарантирует такого рода согласованность

Я использую Postgres

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...