'Does the cart have any items in it?
If an item_type is passed in then we check to see if there are any items of that class type'

def has_items(self, item_type=None):

    if (not item_type):
        return self.orderitem_set.exists()
    else:
        items = self.orderitem_set.all().select_subclasses()
        for item in items:
            if isinstance(item, item_type):
                return True
        return False
