from shop.models import Cart from web.settings import ANONYMOUS_CART_ID_COOKIE_NAME def get_or_create_cart(request) -> [Cart, bool]: created = False if not request.user.is_authenticated: uid = request.COOKIES.get(ANONYMOUS_CART_ID_COOKIE_NAME) if uid: cart = Cart.objects.get(uuid=uid) else: cart = Cart.objects.create(user=None) created = True else: cart, created = Cart.objects.get_or_create(user=request.user) return cart, created