سلام
وقتی که این کوئری مقدار None برمیگردونه:
cart = Cart.objects.filter(owner_id=request.user.id, is_paid=False).first()
مساوی اینه که این کوئری یک کوئری ست خالی برگردونه:
cart = Cart.objects.filter(owner_id=request.user.id, is_paid=False)
پس هر موقع کوئری اول None میشه وارد if بعدی میشیم و این حالت پیش میاد:
cart = <QuerySet []>
که یک object از مدل Cart نیست و نمیشه از cart.cartdetailset استفاده کرد.
یک راه حل این میتونه باشه:
if cart is None:
cart = Cart.objects.create(owner_id=request.user.id, is_paid=False)شاید پاسخ شما همینجا باشد