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"))