From 9e06fa341901b5a36967f35d3e7b1f7edec3e7ed Mon Sep 17 00:00:00 2001 From: Egor fureunoir Gorbunov Date: Sat, 7 Jun 2025 16:33:55 +0300 Subject: [PATCH] Fixes: save() method for Order model fix --- core/models.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/models.py b/core/models.py index 43604541..7c479151 100644 --- a/core/models.py +++ b/core/models.py @@ -524,7 +524,10 @@ class Order(ExportModelOperationsMixin("order"), NiceModel): return self.attributes.get("is_business", False) if self.attributes else False def save(self, **kwargs): - if self.user.orders.filter(status="PENDING").count() > 1 and self.status == "PENDING": + pending_orders = 0 + if self.user: + pending_orders = self.user.orders.filter(status="PENDING").count() + if self.status == "PENDING" and pending_orders > 1: raise ValueError(_("a user must have only one pending order at a time")) return super().save(**kwargs) @@ -672,7 +675,6 @@ class Order(ExportModelOperationsMixin("order"), NiceModel): promocode_uuid: str | None = None, billing_address: str | None = None, shipping_address: str | None = None, - **kwargs, ) -> Self | Transaction | None: if config.DISABLED_COMMERCE: raise DisabledCommerceError(_("you can not buy at this moment, please try again in a few minutes"))