Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python MySQL Django模型中的布尔字段?_Python_Mysql_Django_Boolean - Fatal编程技术网

Python MySQL Django模型中的布尔字段?

Python MySQL Django模型中的布尔字段?,python,mysql,django,boolean,Python,Mysql,Django,Boolean,在Django。当我检索它时,我得到0或1。我不应该是假的还是真的?有没有办法实现这种行为 >>> u=User.objects.get(pk=1) >>> u.is_active 1 >>> u.is_active==1 True >>> 布尔列返回1或0的原因在您的问题的链接上。您可以为您的模型创建自己的方法来为您计算: 类用户(models.Model): 活动状态=models.BooleanField(默认值=1

在Django。当我检索它时,我得到0或1。我不应该是假的还是真的?有没有办法实现这种行为

>>> u=User.objects.get(pk=1)
>>> u.is_active
1
>>> u.is_active==1
True
>>>

布尔列返回1或0的原因在您的问题的链接上。

您可以为您的模型创建自己的方法来为您计算:

类用户(models.Model):
活动状态=models.BooleanField(默认值=1)
def处于活动状态(自):
返回布尔值(自激活状态)
然后,对该字段执行的任何测试都可以只引用该方法:

>>u.处于活动状态()
真的
您甚至可以将其设置为属性:

类用户(models.Model):
活动状态=models.BooleanField(默认值=1)
@财产
def处于活动状态(自):
返回布尔值(自激活状态)
这样,类的用户甚至不必知道它是作为方法实现的:

>>u.处于活动状态
真的

以下是适用于
NullBooleanField
的上述方法:

result = models.NullBooleanField()

def get_result(self):
    if self.result is None:
        return None
    return bool(self.result)

是否有一种情况下,您预计这将导致不同的行为仅仅基于类型

>>> 1 == True
True
>>> 0 == False
True
>>> int(True)
1
>>> int(False)
0

您的示例应该是:u.is_active==True是否可以将布尔字段隐式转换为True或False而不是1或0Juanjo,我列出了如何实现True或False结果的示例。Rama,我想通过修改Django的模型代码应该是可能的,但我不知道有这样的解决方案。。在提供的链接上。