首页 > 解决方案 > “布尔”对象没有“保存”属性

问题描述

我正在尝试使用 Django 应用程序,我想检查数据库中的布尔对象是否为 False 并将其保存为 True,但每次我收到上述错误时,我都会感谢任何帮助或了解我的内容我做错了。

视图.py

    if request.method == 'POST':

        for data in Mpesa.objects.all():

            all_receipts = data.MpesaReceiptNumber

            status = data.Completed

            verify_receipt = request.POST['verify'].upper()

            if verify_receipt in all_receipts:

                if status == False:
                    status = True
                    status.save()
                    return redirect('realtor:create')

模型.py

class Mpesa(models.Model):
    MpesaReceiptNumber = models.CharField(max_length=15, blank=True, null=True)
    PhoneNumber = models.CharField(max_length=13, blank=True, null=True)
    Amount = models.IntegerField(blank=True, null=True)
    TransactionDate = models.DateTimeField(blank=True, null=True)
    Completed = models.BooleanField(default=False)

标签: djangodjango-modelsdjango-views

解决方案


在您的views.py 中,您设置status = data.Completed了一个名为status 的变量,该变量具有保存的布尔值data.Completed。所以这意味着状态变量没有属性保存。

我们需要设置completed字段,True然后保存数据对象。

试试这个:

if status == False:
    data.completed = True
    data.save()
    return redirect('realtor:create')

推荐阅读