【问题标题】:Django - Boolean updated on web view but not when exportedDjango - 在 Web 视图上更新布尔值,但在导出时不更新
【发布时间】:2018-09-17 22:29:47
【问题描述】:

根据models.py 的某些条件,我希望ABC BooleanField 被勾选(绿色勾选)或取消勾选(红色叉号)。这个,我做到了,没有任何问题;但是,当我尝试使用 ABC BooleanField 导出(作为 CSV 或 XLSX)相同的数据集时,BooleanField 不会根据 Web 视图或我设置的 models.py 进行更新。你能给我一些指导吗?以下是部分代码:

class something(models.Model)
    book = models.BooleanField(default=False)


... some code ...

    def bookcheck(self):
        if self.writingDate is not None:
            if self.publishDate is not None:
                self.book = True
                return True
            else:
                return False
        else:
            return False

    bookcheck.boolean = True

【问题讨论】:

  • 您没有保存模型。 self.save() 进行更改后。

标签: python django django-import-export


【解决方案1】:

更新模型实例后需要保存

if self.publishDate is not None:
    self.book = True
    self.save()
    return True

这将更新数据库中与您正在更新的对象相对应的行。

我认为下面这行代码不会运行

bookcheck.boolean = True

bookcheck 未在此处定义。 self.bookcheck 是,但即便如此,它也是一个函数而不是变量,因此它没有可以更新的属性。

注意:

在 Python 中,而不是

if self.writingDate is not None:

你可以的

if self.writingDate:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多