fix: base basemodel handle_parent 处理bug

This commit is contained in:
caoqianming 2024-08-26 15:28:13 +08:00
parent f70fd4afd5
commit c3bb68acae
1 changed files with 9 additions and 6 deletions

View File

@ -124,13 +124,16 @@ class BaseModel(models.Model):
old_parent = None
need_handle_parent = False
if hasattr(self, "parent"):
try:
old_parent = self.__class__.objects.get(id=self.id).parent
except Exception:
self.parent = None
need_handle_parent = True
if self.parent != old_parent:
if is_create:
need_handle_parent = True
else:
try:
old_parent = self.__class__.objects.get(id=self.id).parent
except Exception:
self.parent = None
need_handle_parent = True
if self.parent != old_parent:
need_handle_parent = True
try:
ins = super().save(*args, **kwargs)
except IntegrityError as e: