python - MySQL Django 模型中的 boolean 字段?

标签 python mysql django boolean

在 Django,a boolean field in MySQL is stored as a TINYINT .当我检索它时,我得到 0 或 1。我不应该得到 False 或 True 吗?有没有办法实现这种行为?

最佳答案

您可以为您的模型创建自己的方法来为您评估:

class User(models.Model):
    active_status = models.BooleanField(default=1)

    def is_active(self):
        return bool(self.active_status)

然后您对该字段执行的任何测试都可以只引用该方法:

>>> u.is_active()
True

你甚至可以把它变成一个属性:

class User(models.Model):
    active_status = models.BooleanField(default=1)

    @property    
    def is_active(self):
        return bool(self.active_status)

这样类的用户甚至不必知道它是作为方法实现的:

>>> u.is_active
True

关于python - MySQL Django 模型中的 boolean 字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1778948/

相关文章:

python : Compare two csv files and print out differences

Python 模拟补丁使用 pytest 在另一个函数中的协程函数?

mysql - 导入旧的mysql数据文件夹

php - 为开发制作 MySQL 数据库副本

django - 测试 Django Rest Framework 时创建超链接关系

Django:IE 不加载本地主机或加载非常慢

python - 在第二个脚本函数中传递来自第一个 python 脚本主函数的数据

python - 检查 pandas.Timestamp 是否在 pandas.Period 中

php - 由于点符号,无法在查询中指定我的表名

python - 据说部署 django 的最佳方式是使用 wsgi,我想知道为什么?