From 8f60593123095f29e3b22af3094e3336cb4bbdf0 Mon Sep 17 00:00:00 2001 From: collerek Date: Fri, 26 Mar 2021 12:47:12 +0100 Subject: [PATCH] optimize __same__ --- ormar/models/newbasemodel.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ormar/models/newbasemodel.py b/ormar/models/newbasemodel.py index 919240f..5ee9b19 100644 --- a/ormar/models/newbasemodel.py +++ b/ormar/models/newbasemodel.py @@ -341,8 +341,11 @@ class NewBaseModel(pydantic.BaseModel, ModelTableProxy, metaclass=ModelMetaclass return ( self._orm_id == other._orm_id or (self.pk == other.pk and self.pk is not None) - or self.dict(exclude=self.extract_related_names()) - == other.dict(exclude=other.extract_related_names()) + or ( + (self.pk is None and other.pk is None) + and self.dict(exclude=self.extract_related_names()) + == other.dict(exclude=other.extract_related_names()) + ) ) @classmethod