'Always use this to preserve the property that at most 1 order per user has status = \'cart\''

@classmethod
def get_cart_for_user(cls, user):

    try:
        cart_order = cls.objects.filter(user=user, status='cart').order_by('-id')[:1].get()
    except ObjectDoesNotExist:
        (cart_order, _created) = cls.objects.get_or_create(user=user, status='cart')
    return cart_order
