Boolean
Boolean fields store boolean values, as expected. It also provides convienence for accepting truthy or falsy values. See the usage section for more details.
Import
from marrow.mongo.field import Boolean
Inherits
marrow.mongo:
Field
Attributes
This field type inherits all Field
attributes and represents a singular, scalar boolean value. In addition to the storage and retrieval of pure True
and False
values, the field configuration defines allowable "truthy" values (to cast to True
) and "falsy" values (to cast to False
).
truthy
truthy
Values to interpret as True
, storing True
if they are assigned.
Default('true', 't', 'yes', 'y', 'on', '1', True)
Added>=1.1.3
falsy
falsy
Values to interpret as False
, storing False
if they are assigned.
Default('false', 'f', 'no', 'n', 'off', '0', False)
Added>=1.1.3
In versions prior to 1.1.3 the "truthy" and "falsy" values are hardcoded at the defaults presented above.
Usage
Instantiate and assign an instance of this class during construction of a new Document
subclass. Accessing as a class attribute will return a Queryable allowing filtering operations, and access as an instance attribute will return a bool
cast value.
Assignment of any value matched by the truthy
iterable (via in
comparison) will store True
, and likewise with the falsy
iterable storing False
. Additionally, if an attempt is made to assign a non-boolean, non-string value, the value will be passed through bool()
conversion prior to storage, allowing use of objects which define their own __nonzero__
/__bool__
methods.
Last updated