- Loose requirements versions
- [Bugfix] #24: Prevent to create an instance of document with ALLOW_EXTRA_FIELDS enabled and which has overlapping data keys it gets
- [Improvement] Clearer interface for the ListField, it ignores user 'validators' parameter
- [Breaking] Change
Document's
__init__
signature: move attributes from**kwargs
todata
, add additional**kwargs
. - [Breaking] Remove dictionary as a storage from
Document
.
- [Improvement] Improve Document.create(...) method robustness
- [Feature] Support ListField having only one type of items + added MutableSequence interface
- [Improvement] MutableMapping interface for the DictField
- [Bugfix] ListField of Documents returns proper documents instances (#13)
- [Improvement] Protected fields interface via Document.create(...)
- [Improvement] Added ListField list of Documents support
- [Improvement] DocumentField: added lazy model assignment with name
- [Bugfix] Fix OMIT_MISSED_FIELDS behavior
- [Improvement] Follow consistency and raise ValidationError instead of ValueError on choices validation if failed
- [Feature] Implemented Document.Meta AttributeDict based options
- [Improvement] Renamed Meta.OMIT_NOT_PASSED_FIELDS -> Meta.OMIT_MISSED_FIELDS
- [Feature] Post-init model validation
- [Feature] New DictField
- New SimpleField required attribute handling (moved to validate() method)
- Implemented documents multiple inheritance
- More wise fields descriptors setters strategy on init and on setattr
- Split up SimpleField validation chain into several steps to adapt it
- for better overriding in case of inheritance (cleaner ListField
- implementation)
- Fixed OMIT_NOT_PASSED_FIELDS to work with defaults
- Updated SimpleField.required attribute handling;
- Implemented models inheritance, refactoring DocumentMeta class;
- Significant improvements in SimpleField.validate method - divide it into composition methods;
- Fixed CharField max_length validator; fixed AttributeDict setter
- Use common SimpleField value setter for descriptors and for Document init.
- Updated CharField, forbid to store None value, store '' instead; Simplified Document init
- Implemented Document.IGNORE_NONE_ON_INIT feature.
- Code clean up and minor fixes
- Allow None values for non required fields. [Maksim Ekimovskii]
- Code refactoring: moved helpers to utils.py, removed helpers.py, minor
- Implement ListField, make it json serialize compatible for python2/3; Fixed
- Initialize callable default values at document init point; Added new
- Implemented ListField, added tests; Forbid mutable default parameters;
- Implemented choices feature, removed redundant code, updated tests and
- Implemented ALLOW_EXTRA_FIELDS document attribute; Improve python 3
- Fixed README. [Maksim Ekimovskii]
- Implemented new validators pipeline; Added new immutable field option;
- Validate model defaults; Fixed working with nested models; Added
- Replace SimpleField get_name() with property name. [Maksim Ekimovskii]
- Remove get_instance constructor; Fixed tests. [Maksim Ekimovskii]
- Code refactoring, remove deprecated type parameter from SimpleField;
- Implemented new feature - optional SimpleField name; Added tests;
- Exception refactoring. [Maksim Ekimovskii]
- Added new field attribute 'error_text' to help to debug validation
- Fixed DictEmbeddedDocument set default functionality + validation;
- Integrate six lib to python 2 to 3 compatibility. [Maksim Ekimovskii]
- Updated docs; added test_coverage make commandl updated travis cfg.
- Added new SimpleField validator feature -> it will be replace 'type'
- Added strip_kwargs method for DictEmbeddedDocument. [Maksim
- Models refactoring, improve readability; added .coveragerc. [Maksim
- Rename _type -> type SimpleField attribute. [Maksim Ekimovskii]
- Fix DictEmbeddedDocument type casting; Updated tests; Updated
- Updated validators, integrate it to field setter and document
- Rewritten field storage logic to prevent memory leaks, store all