RecursionError:超过最大递归深度

时间:2020-05-28 14:47:13

标签: django django-models django-views

我正在建立电子命令区,当我尝试向订单中添加多个订单项但出现此错误 enter image description here时。 任何帮助表示赞赏。

   def Cart(request):
        `enter code here`    customer=request.user.customer
            if request.user.is_authenticated:
                 order,status=Order.objects.get_or_create(customer=customer,complete=False)
                 items=order.orderitem_set.all()
            else:
                items=[]

            context={"items":items}
            return render(request,'store/Cart.html',context)

这是树的模型

   class Customer(models.Model):
        user=models.OneToOneField(User,null=True,on_delete=models.CASCADE,blank=True)
        name=models.CharField(max_length=200,null=True)
        email=models.EmailField(null=True,help_text='A valid email address,please.') 
        objects = models.Manager() 

        def __str__(self):
            return  self.name


    class Order(models.Model):
        customer=models.ForeignKey(Customer,on_delete=models.SET_NULL,null=True)
        date_orderd=models.DateField(auto_now_add=True)
        complete=models.BooleanField(default=True,null=True,blank=False)
        transaction_id=models.CharField(max_length=200,null=True)
        objects = models.Manager() 

        def __str__(self):
            return str(self.pk)

    class OrderItem(models.Model):
        product=models.ForeignKey(Product,on_delete=models.CASCADE,null=True)
        order=models.ForeignKey(Order,on_delete=models.SET_NULL,null=True)
        quantity=models.IntegerField(default=1,null=True,blank=True)
        date_added=models.DateField(auto_now_add=True)
        objects = models.Manager() 

        def __str__(self):
             return self.product.name

        @property
        def get_total(self):
            total=self.product.price*self.quantity
            return self.get_total

1 个答案:

答案 0 :(得分:0)

通常在您自己添加应用程序的URL时发生此错误。 检查您应用的url.py,您可能已将其包含在其中。