diff --git a/backend/app/services/cart_service.py b/backend/app/services/cart_service.py index 048295c..4132005 100644 --- a/backend/app/services/cart_service.py +++ b/backend/app/services/cart_service.py @@ -21,7 +21,13 @@ class CartService: cart = Cart() self.db.add(cart) await self.db.commit() - await self.db.refresh(cart) + # Re-fetch with items loaded to avoid lazy loading issues + result = await self.db.execute( + select(Cart) + .where(Cart.id == cart.id) + .options(selectinload(Cart.items)) + ) + cart = result.scalar_one() return self._cart_to_response(cart) async def get_cart(self, cart_id: UUID) -> CartResponse | None: @@ -59,8 +65,7 @@ class CartService: ): existing.quantity += item.quantity await self.db.commit() - await self.db.refresh(cart) - return self._cart_to_response(cart) + return await self.get_cart(cart_id) # Add new item cart_item = CartItem( @@ -73,8 +78,7 @@ class CartService: ) self.db.add(cart_item) await self.db.commit() - await self.db.refresh(cart) - return self._cart_to_response(cart) + return await self.get_cart(cart_id) async def update_item( self,