Django无法分配给运营商

时间:2013-07-04 13:36:39

标签: django

我正在尝试创建送货清单应用程序。每个用户都有一个发货清单,我想限制他们在发货清单上可以拥有的商品数量。商品数量取决于发货清单中的字段编号,他们可以拥有的默认值为5

我试图创建一个函数。如果项目数小于shippinglist值编号,则为5.创建剩余的项目数。

例如,如果它们只有1个项目,并且出货清单的默认值为5。再创建4个。

 can't assign to operator 

有人可以帮我功能。

class ShippingList(models.Model):
    user = models.ForeignKey(User)
    number = models.CharField(max_length=5,default =5)

class Item(models.Model):
    shippingList= models.ForeignKey(ShippingList)
    item= models.CharField(max_length=100, blank=True,default=5)

视图

def shippinglist(request):
    s= ShippingList.objects.get(user=request.user)
    l = Item.objects.filter(ShippingList=s).count()
    if s.number < l:
        s.number - l = answer
        for 1 in answer:
              List.objects.create(shippingList=s)
    return render(request,'shippínglist.html',)

1 个答案:

答案 0 :(得分:1)

这3行有几个问题:

    s.number - l = answer
    for 1 in answer:
    List.objects.create(shippingList=s)

一个是缩进:在:之后,下一行必须进一步缩进。

其他是控制变量实际上是一个数字!这是1而不是l

其他是第一行的左侧不可分配,因为它是计算的结果,而不是名称。我认为你的作业是镜像的。

另一个是answer(如果它是一个数字)是不可迭代的;你可能想用range

类似的东西:

    answer = s.number - l
    for i in range(answer):
        List.objects.create(shippingList=s)