Python Django-Postgress-仅当不';不存在
我想创建一个元素,但前提是“相似”对象不存在。例如:Python Django-Postgress-仅当不';不存在,python,django,postgresql,unique-constraint,Python,Django,Postgresql,Unique Constraint,我想创建一个元素,但前提是“相似”对象不存在。例如: 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) 请注意,条
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\u或\u create
据我所知,在使用select
和insert
时使用事务并不能保证这种一致性
我正在使用Postgres嗨,问题是什么?唯一的条件是
要创建的年龄必须大于该人的最新退出行
?如果您担心多个应用程序的竞争条件,请使用select\u for\u update在DB中使用锁定