在Django,a boolean field in MySQL is stored as a TINYINT。当我检索它时,我得到0或1.不应该是False或True?有没有办法实现这种行为?MySQL Django模型中的布尔字段?
回答
>>> u=User.objects.get(pk=1)
>>> u.is_active
1
>>> u.is_active==1
True
>>>
布尔列返回1或0的原因在您的问题的链接。
你的例子应该是:u.is_active == True – 2009-11-22 15:11:51
有没有可能将布尔值字段隐藏为True或False而不是1或0 – 2009-11-23 05:14:03
Juanjo,我列举了一个例子来说明如何实现True或False结果。 拉玛,我想应该可以通过修改Django的模型代码,但我不知道这样的解决方案。 – fest 2009-11-23 18:41:39
你可以为你的模型,评估此为你创建你自己的方法:
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)
因此,类的用户d on't甚至要知道,它是作为一种方法来实现:
>>> u.is_active
True
这里是适合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
- 1. Django的布尔字段观点+模板
- 2. Oracle中的布尔型字段
- 3. django模型中的大整数字段
- 4. 将模型字段插入Django中现有的模型字段
- 5. 在Django模板中生成和调用布尔字段形式
- 6. MySQL:两个布尔字段的索引
- 7. Django:模型字段内的子字段
- 8. 如何添加布尔字段到MySQL?
- 9. 什么字段类型用于Django中的模型字段?
- 10. Django模型迭代字段
- 11. Django模型字段索引
- 12. django模型字段比较
- 13. Django模型 “斑点” 字段
- 14. 填充Django模型字段
- 15. Django Blob模型字段
- 16. django模型中的重复字段
- 17. django模型中的可选字段
- 18. Django模型中的自定义字段
- 19. Django中的未知字段模型
- 20. Django表单模型中的DateTime字段
- 21. Django中的模型集字段
- 22. django中的动态模型字段
- 23. django模型中的单个字段
- 24. Django隐藏模型中的假字段
- 25. ManyToMany模型字段的选择更改基于布尔值
- 26. 由布尔字段
- 27. 如何将MySQL中的布尔型字段迁移到Heroku中的PostgreSQL?
- 28. 用Django中的更新方法切换布尔型字段的值
- 29. Django是否可以选择更新模型中的一个布尔型字段而无需太多开发?
- 30. 在Django模型中弃用字段
是的,我读到:MySQL用户..在提供的链接。 – 2009-11-22 15:12:46