Boolean
Last updated
Was this helpful?
Last updated
Was this helpful?
Boolean fields store boolean values, as expected. It also provides convienence for accepting truthy or falsy values. See the usage section for more details.
from marrow.mongo.field import Boolean
marrow.mongo:
Field
This field type inherits all 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
Values to interpret as True
, storing True
if they are assigned.
Default('true', 't', 'yes', 'y', 'on', '1', True)
Added>=1.1.3
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.
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.