﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
15040	Boolean fields return 0 and 1 when loaded through select_related	homm	nobody	"This behavior only on mysql. SQLite always return True or False.

Models.py file:

{{{
from django.db import models

class BoolModel(models.Model):
    bool = models.BooleanField()

class Parent(models.Model):
    true = models.ForeignKey(BoolModel, related_name='trues')
    false = models.ForeignKey(BoolModel, related_name='falses')
}}}

In command line:

{{{
./manage.py shell
>>> from ex.models import *
>>> true = BoolModel.objects.create(bool=True)
>>> false = BoolModel.objects.create(bool=False)
>>> parent = Parent.objects.create(true=true, false=false)

>>> parent = Parent.objects.get()
>>> parent.true.bool
True
>>> parent.false.bool
False

>>> parent = Parent.objects.select_related('true', 'false').get()
>>> parent.true.bool
1
>>> parent.false.bool
0
}}}

As you can seen, in first case, when parent object loaded without select_related, booleans is booleans.
In second case, when object loaded with select_related, boolens are numbers.

Version 1.2 and 1.3 acts the same."	Bug	closed	Database layer (models, ORM)	1.4	Normal	fixed		benjaoming@…	Accepted	1	0	0	0	0	0
