使用Django中的URL将bool更改为true / false

时间:2013-07-29 20:29:50

标签: python django boolean django-views django-urls

我正在尝试使用此代码将特定的主键项目(如56,60或75 bool的“已确认”)更改为true:

在models.py中:

class PurchaseOrder(models.Model): 
   confirmed = models.NullBooleanField(null=True)
在views.py中

def confirm(request, itemnum):
    item = get_object_or_404(PurchaseOrder, item_number = itemnum)
    convert_item = str(itemnum)
    PurchaseOrder.confirmed = True  # This is not working
    return HttpResponse('Item number '+ convert_item + ' changed to true' ) 

我可以使用/ 60 /这样的URL,但不会将bool更改为true。

2 个答案:

答案 0 :(得分:4)

您应该更改模型实例上confirmed的值并保存:

def confirm(request, itemnum):
    item = get_object_or_404(PurchaseOrder, item_number = itemnum)
    item.confirmed = True
    item.save()

    return HttpResponse('Item number %s changed to true' % itemnum ) 

希望有所帮助。

答案 1 :(得分:1)

您应该确认项目;现在你正在尝试确认整个Purchase Order课程。尝试:

def confirm(request, itemnum):
    item = get_object_or_404(PurchaseOrder, item_number = itemnum)
    convert_item = str(itemnum)
    item.confirmed = True  # confirm your item
    item.save()  # Have to save it first
    return HttpResponse('Item number '+ convert_item + ' changed to true' )