'Returns a Python boolean object.'

def to_python(self, value):

    if (isinstance(value, six.string_types) and (value.lower() in (u'false', u'0'))):
        value = False
    else:
        value = bool(value)
    value = super(BooleanField, self).to_python(value)
    if ((not value) and self.required):
        raise ValidationError(self.error_messages[u'required'])
    return value
