fix: 优化safe_get_or_create以处理并发3
This commit is contained in:
parent
446714bf00
commit
d95bb8468b
|
@ -121,14 +121,14 @@ class BaseModel(models.Model):
|
||||||
return ins, False
|
return ins, False
|
||||||
except cls.DoesNotExist:
|
except cls.DoesNotExist:
|
||||||
try:
|
try:
|
||||||
ins = cls.objects.create(**defaults, **kwargs)
|
params = {**defaults, **kwargs}
|
||||||
|
return cls.objects.create(**params), True
|
||||||
except IntegrityError:
|
except IntegrityError:
|
||||||
try:
|
try:
|
||||||
return cls.objects.get(**kwargs), False
|
return cls.objects.get(**kwargs), False
|
||||||
except cls.DoesNotExist:
|
except cls.DoesNotExist:
|
||||||
pass
|
pass
|
||||||
raise
|
raise
|
||||||
return ins, True
|
|
||||||
|
|
||||||
def handle_parent(self):
|
def handle_parent(self):
|
||||||
pass
|
pass
|
||||||
|
|
Loading…
Reference in New Issue