NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1800 most downloaded on PyPI
SQLAlchemy integration with the marshmallow (de)serialization library
Last release 6 months ago
01 Apr 2026
Release timing varies
gaps range from 2 weeks to 12 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
64 releases · first in 2015
Bump version and update changelog
Bump version and update changelog
Bug fixes:
Fix memory usage regression from 1.4.1 (1.4.2 didn't address the root cause) (665).
Other changes:
Drop support for Python 3.9, which is EOL. Support Python 3.10-3.14.
Bump version and update changelog
One column per quarter.
Bug fixes:
Fix memory usage regression in 1.4.1 (665). Thanks mistercrunch for reporting and sending a PR.
Bug fixes:
Fix memory usage regression in 1.4.1 ( #665 ). Thanks @mistercrunch for reporting and sending a PR.
Bump version and update changelog
Bump version and update changelog
Bug fixes:
Fix inheritance of declared fields that match then name of a foreign key column when the include_fk option is set to False (657). Thanks carterjc for the PR.
Bump version and update changelog
Bump version and update changelog
Bug fixes:
Fix handling of arrays of enums and multidimensional arrays (653). Thanks carterjc for reporting and investigating the fix.
Fix handling of sqlalchemy.PickleType columns (394) Thanks Eyon42 for reporting.
Other changes:
Passing arbitrary keyword arguments to auto_field <marshmallow_sqlalchemy.auto_field> is no longer supported (647). Use the metadata argument to pass metadata to the generated field instead.
# Before
auto_field(description="The name of the artist")
# On marshmallow 3, this raises a warning: "RemovedInMarshmallow4Warning: Passing field metadata as keyword arguments is deprecated."
# On marshmallow 4, this raises an error: "TypeError: Field.__init__() got an unexpected keyword argument 'description'"
# After
auto_field(metadata=dict(description="The name of the artist"))
Bump version and update changelog
Bump version and update changelog
Features:
Typing: Add type annotations to fields <marshmallow_sqlalchemy.fields>.
Bug fixes:
Fix auto-generation of marshmallow.fields.Enum field from sqlalchemy.Enum columns (615). Thanks joaquimvl for reporting.
Fix behavior of include_fk = False in options when parent schema sets include_fk = True (440). Thanks uhnomoli for reporting.
Fields generated from non-nullable sqlalchemy.orm.relationship correctly set required=True and allow_none=False (336, 163). Thanks AbdealiLoKo for reporting.
Other changes:
Docs: Add more documentation for marshmallow_sqlalchemy.fields.Related (162). Thanks GabrielC101 for the suggestion.
Docs: Document methods of SQLAlchemySchema <marshmallow_sqalalchemy.SQLAlchemySchema> and SQLAlchemyAutoSchema <marshmallow_sqalchemy.SQLAlchemyAutoSchema> (619).
Docs: Various documentation improvements (635, 636, 639, 641, 642).
Bump version and update changelog
Bump version and update changelog
Features:
Typing: Improve type coverage (631, 632, 634).
Other changes:
Drop support for Python 3.8, which is EOL. Support Python 3.9-3.13.
Bump version and update changelog
Bump version and update changelog
Bug fixes:
Fix compatibility with marshmallow 3.24.0 and 4.0.0 (628).
Other changes:
Test against Python 3.13 (629).
Bump version and update changelog
Bump version and update changelog
Features:
sqlalchemy.Enum fields generate a corresponding marshmallow.fields.Enum field (485, 112). Thanks panda-byte for the PR.
Support:
Drop support for marshmallow<3.18.0.
Bump version and update changelog
Bump version and update changelog
Remove __version__ attribute. Use feature detection or importlib.metadata.version("marshmallow-sqlalchemy") instead (568).
Support marshmallow>=3.10.0 (566).
Passing info={"marshmallow": ...} to SQLAlchemy columns is removed, as it is redundant with the auto_field functionality (567).
Remove packaging as a dependency (566).
Support Python 3.12.
Use Session.get() load instances to improve deserialization performance (548). Thanks zippolyte for the PR.
Features:
Use Session.get() load instances to improve deserialization performance (548). Thanks zippolyte for the PR.
Other changes:
Drop support for Python 3.7, which is EOL (540).
Support SQLAlchemy 2.0 (494). Thanks dependabot for the PR.
Features:
Support SQLAlchemy 2.0 (494). Thanks dependabot for the PR.
Enable (in tests) and fix SQLAlchemy 2.0 compatibility warnings (493).
Bug fixes:
Use mapper .attrs rather than .get_property and .iterate_properties to ensure registry.configure is called (call removed in SQLAlchemy 2.0.2) (487). Thanks ddoyon92 for the PR.
Other changes:
Drop support for SQLAlchemy 1.3, which is EOL (493).
Use .scalar_subquery() for SQLAlchemy>1.4 to suppress a warning (459). Thanks indiVar0508 for the PR.
Bug fixes:
Use .scalar_subquery() for SQLAlchemy>1.4 to suppress a warning (459). Thanks indiVar0508 for the PR.
Other changes:
Lock SQLAlchemy<2.0 in setup.py. SQLAlchemy 2.x is not supported (486).
Test against Python 3.11 (486).
Address DeprecationWarning re: usage of distutils (435). Thanks Tenzer for the PR.
Bug fixes:
Address DeprecationWarning re: usage of distutils (435). Thanks Tenzer for the PR.
Bug fixes:
Address DeprecationWarning re: usage of distutils ( #435 ). Thanks @Tenzer for the PR.
Add support for generating fields from column_property (97). Thanks mrname for the PR.
Features:
Add support for generating fields from column_property (97). Thanks mrname for the PR.
Other changes:
Drop support for Python 3.6, which is EOL.
Drop support for SQLAlchemy 1.2, which is EOL.
Distribute type information per PEP 561 _ (420). Thanks bruceadams for the PR.
Features:
Distribute type information per PEP 561 (420). Thanks bruceadams for the PR.
Other changes:
Test against Python 3.10 (421).
Features:
Distribute type information per PEP 561 ( #420 ). Thanks @bruceadams for the PR.
Other changes:
Test against Python 3.10 ( #421 ).
Fix generating fields for postgreql.ARRAY columns (392). Thanks mjpieters for the catch and patch.
Bug fixes:
Fix generating fields for postgreql.ARRAY columns (392). Thanks mjpieters for the catch and patch.
Bug fixes:
Fix generating fields for postgreql.ARRAY columns ( #392 ). Thanks @mjpieters for the catch and patch.
*Backwards-incompatible*: Remove deprecated ModelSchema and TableSchema classes.
Bug fixes:
Unwrap proxied columns to handle models for subqueries (383). Thanks mjpieters for the catch and patch
Fix setting transient on a per-instance basis when the transient Meta option is set (388). Thanks again mjpieters.
Other changes:
Backwards-incompatible: Remove deprecated ModelSchema and TableSchema classes.
Add load_instance as a parameter to SQLAlchemySchema and SQLAlchemyAutoSchema (380). Thanks mjpieters for the PR.
Add load_instance as a parameter to SQLAlchemySchema and SQLAlchemyAutoSchema (380). Thanks mjpieters for the PR.
Add load_instance as a parameter to SQLAlchemySchema and SQLAlchemyAutoSchema ( #380 ). Thanks @mjpieters for the PR.
Fix deprecation warnings from marshmallow 3.10 and SQLAlchemy 1.4 (369). Thanks peterschutt for the PR.
Fix deprecation warnings from marshmallow 3.10 and SQLAlchemy 1.4 (369). Thanks peterschutt for the PR.
Fix deprecation warnings from marshmallow 3.10 and SQLAlchemy 1.4 ( #369 ). Thanks @peterschutt for the PR.
auto_field supports association_proxy fields with local multiplicity (uselist=True) (364). Thanks Unix-Code for the catch and patch.
auto_field supports association_proxy fields with local multiplicity (uselist=True) (364). Thanks Unix-Code for the catch and patch.
auto_field supports association_proxy fields with local multiplicity ( uselist=True ) ( #364 ). Thanks @Unix-Code for the catch and patch.
auto_field works with association_proxy (338). Thanks AbdealiJK.
auto_field works with association_proxy (338). Thanks AbdealiJK.
*Backwards-incompatible*: Drop support for marshmallow 2.x, which is now EOL.
Backwards-incompatible: Drop support for marshmallow 2.x, which is now EOL.
Test against Python 3.9.
Don't add no-op Length validator (315). Thanks taion for the PR.
Bug fixes:
Don't add no-op Length validator (315). Thanks taion for the PR.
Bug fixes:
Don’t add no-op Length validator ( #315 ). Thanks @taion for the PR.
Fix data keys when using Related with a Column that is named differently from its attribute (299). Thanks peterschutt for the catch and patch.
Bug fixes:
Fix data keys when using Related with a Column that is named differently from its attribute (299). Thanks peterschutt for the catch and patch.
Fix bug that raised an exception when using the ordered = True option on a schema that has an auto_field (306). Thanks KwonL for reporting and thanks peterschutt for the PR.
Fix DeprecationWarning getting raised even when user code does not use TableSchema or ModelSchema (289). Thanks 5uper5hoot for reporting.
Bug fixes:
Fix DeprecationWarning getting raised even when user code does not use TableSchema or ModelSchema (289). Thanks 5uper5hoot for reporting.
Bug fixes:
Fix DeprecationWarning getting raised even when user code does not use TableSchema or ModelSchema ( #289 ). Thanks @5uper5hoot for reporting.
Avoid error when using SQLAlchemyAutoSchema, ModelSchema, or fields_for_model with a model that has a SynonymProperty (190). Thanks TrilceAC for repor
Bug fixes:
Avoid error when using SQLAlchemyAutoSchema, ModelSchema, or fields_for_model with a model that has a SynonymProperty (190). Thanks TrilceAC for reporting.
auto_field and field_for work with SynonymProperty (280).
Other changes:
Add hook in ModelConverter for changing field names based on SQLA columns and properties (276). Thanks davenquinn for the suggestion and the PR.
Fix behavior when passing table to auto_field (277).
Bug fixes:
Fix behavior when passing table to auto_field (277).
ModelSchema and TableSchema are deprecated, since SQLAlchemyAutoSchema has equivalent functionality.
Features:
Add SQLAlchemySchema and SQLAlchemyAutoSchema, which have an improved API for generating marshmallow fields and overriding their arguments via auto_field (240). Thanks taion for the idea and original implementation.
# Before
from marshmallow_sqlalchemy import ModelSchema, field_for
from . import models
class ArtistSchema(ModelSchema):
class Meta:
model = models.Artist
id = field_for(models.Artist, "id", dump_only=True)
created_at = field_for(models.Artist, "created_at", dump_only=True)
# After
from marshmallow_sqlalchemy import SQLAlchemySchema, auto_field
from . import models
class ArtistSchema(SQLAlchemyAutoSchema):
class Meta:
model = models.Artist
id = auto_field(dump_only=True)
created_at = auto_field(dump_only=True)
Add load_instance option to configure deserialization to model instances (193, 270).
Add include_relationships option to configure generation of marshmallow fields for relationship properties (98). Thanks dusktreader for the suggestion.
Deprecations:
ModelSchema and TableSchema are deprecated, since SQLAlchemyAutoSchema has equivalent functionality.
# Before
from marshmallow_sqlalchemy import ModelSchema, TableSchema
from . import models
class ArtistSchema(ModelSchema):
class Meta:
model = models.Artist
class AlbumSchema(TableSchema):
class Meta:
table = models.Album.__table__
# After
from marshmallow_sqlalchemy import SQLAlchemyAutoSchema
from . import models
class ArtistSchema(SQLAlchemyAutoSchema):
class Meta:
model = models.Artist
include_relationships = True
load_instance = True
class AlbumSchema(SQLAlchemyAutoSchema):
class Meta:
table = models.Album.__table__
Passing info={"marshmallow": ...} to SQLAlchemy columns is deprecated, as it is redundant with the auto_field functionality.
Other changes:
Backwards-incompatible: fields_for_model does not include relationships by default. Use fields_for_model(..., include_relationships=True) to preserve the old behavior.
Add support for postgresql.OID type (262). Thanks petrus-v for the PR.
Add support for postgresql.OID type (262). Thanks petrus-v for the PR.
Remove imprecise Python 3 classifier from PyPI metadata (255). Thanks ecederstrand.
Add support for postgresql.OID type ( #262 ). Thanks @petrus-v for the PR.
Remove imprecise Python 3 classifier from PyPI metadata ( #255 ). Thanks @ecederstrand .
Add support for mysql.DATETIME and mysql.INTEGER type (204).
Add support for mysql.DATETIME and mysql.INTEGER type (204).
Add support for postgresql.CIDR type (183).
Add support for postgresql.DATE and postgresql.TIME type.
Thanks evelyn9191 for the PR.
Drop support for Python 2.7 and 3.5 (241).
Drop support for Python 2.7 and 3.5 (241).
Drop support for marshmallow<2.15.2.
Only support sqlalchemy>=1.2.0.
marshmallow_sqlalchemy.fields.Nested propagates the value of transient on the call to load (177, 206). Thanks leonidumanskiy for reporting.
Features:
marshmallow_sqlalchemy.fields.Nested propagates the value of transient on the call to load (177, 206). Thanks leonidumanskiy for reporting.
Note: This is the last release to support Python 2.7 and 3.5.
Address DeprecationWarning raised when using Related with marshmallow 3 (243).
Bug fixes:
Fix error handling when passing an invalid type to Related (223). Thanks heckad for reporting.
Address DeprecationWarning raised when using Related with marshmallow 3 (243).
Add marshmallow_sqlalchemy.fields.Nested field that inherits its session from its schema. This fixes a bug where an exception was raised when using Ne
Bug fixes:
Add marshmallow_sqlalchemy.fields.Nested field that inherits its session from its schema. This fixes a bug where an exception was raised when using Nested within a ModelSchema (67). Thanks nickw444 for reporting and thanks samueljsb for the PR.
User code should be updated to use marshmallow-sqlalchemy's Nested instead of marshmallow.fields.Nested.
# Before
from marshmallow import fields
from marshmallow_sqlalchemy import ModelSchema
class ArtistSchema(ModelSchema):
class Meta:
model = models.Artist
class AlbumSchema(ModelSchema):
class Meta:
model = models.Album
artist = fields.Nested(ArtistSchema)
# After
from marshmallow import fields
from marshmallow_sqlalchemy import ModelSchema
from marshmallow_sqlalchemy.fields import Nested
class ArtistSchema(ModelSchema):
class Meta:
model = models.Artist
class AlbumSchema(ModelSchema):
class Meta:
model = models.Album
artist = Nested(ArtistSchema)
Add support for postgresql.MONEY type (218). Thanks heckad for the PR.
Features:
Add support for postgresql.MONEY type (218). Thanks heckad for the PR.
Features:
Add support for postgresql.MONEY type ( #218 ). Thanks @heckad for the PR.
Compatibility with marshmallow 3.0.0rc7. Thanks heckad for the catch and patch.
Bug fixes:
Compatibility with marshmallow 3.0.0rc7. Thanks heckad for the catch and patch.
Bug fixes:
Compatibility with marshmallow 3.0.0rc7. Thanks @heckad for the catch and patch.
Compatibility with marshmallow 3.0.0rc6.
Bug fixes:
Compatibility with marshmallow 3.0.0rc6.
Prevent ValueError when using the exclude class Meta option with TableSchema (202).
Bug fixes:
Prevent ValueError when using the exclude class Meta option with TableSchema (202).
Fix compatibility with SQLAlchemy 1.3 (185).
Bug fixes:
Fix compatibility with SQLAlchemy 1.3 (185).
Add support for deserializing transient objects (62). Thanks jacksmith15 for the PR.
Features:
Add support for deserializing transient objects (62). Thanks jacksmith15 for the PR.
Features:
Add support for deserializing transient objects ( #62 ). Thanks @jacksmith15 for the PR.
Add ModelConverter._should_exclude_field hook (139). Thanks jeanphix for the PR.
Features:
Add ModelConverter._should_exclude_field hook (139). Thanks jeanphix for the PR.
Allow field kwargs to be overriden by passing info['marshmallow'] to column properties (21). Thanks dpwrussell for the suggestion and PR. Thanks jeanphix for the final implementation.
Features:
Add ModelConverter._should_exclude_field hook ( #139 ). Thanks @jeanphix for the PR.
Allow field kwargs to be overriden by passing info['marshmallow'] to column properties ( #21 ). Thanks @dpwrussell for the suggestion and PR. Thanks @jeanphix for the final implementation.
Fix behavior of Related field (150). Thanks zezic for reporting and thanks AbdealiJK for the PR.
Bug fixes:
Fix behavior of Related field (150). Thanks zezic for reporting and thanks AbdealiJK for the PR.
Related now works with AssociationProxy fields (151). Thanks AbdealiJK for the catch and patch.
Other changes:
Test against Python 3.7.
Bring development environment in line with marshmallow.
Bug fixes:
Fix behavior of Related field ( #150 ). Thanks @zezic for reporting and thanks @AbdealiJK for the PR.
Related now works with AssociationProxy fields ( #151 ). Thanks @AbdealiJK for the catch and patch.
Other changes:
Test against Python 3.7.
Bring development environment in line with marshmallow.
Fix behavior of exclude with marshmallow 3.0 (131). Thanks yaheath for reporting and thanks deckar01 for the fix.
Bug fixes:
Fix behavior of exclude with marshmallow 3.0 (131). Thanks yaheath for reporting and thanks deckar01 for the fix.
Bug fixes:
Fix behavior of exclude with marshmallow 3.0 ( #131 ). Thanks @yaheath for reporting and thanks @deckar01 for the fix.
Make ModelSchema.session a property, which allows session to be retrieved from context (129). Thanks gtxm.
Features:
Make ModelSchema.session a property, which allows session to be retrieved from context (129). Thanks gtxm.
Other changes:
Drop official support for Python 3.4. Python>=3.5 and Python 2.7 are supported.
Unset instance attribute when an error occurs during a load call (114). Thanks vgavro for the catch and patch.
Bug fixes:
Unset instance attribute when an error occurs during a load call (114). Thanks vgavro for the catch and patch.
Bug fixes:
Unset instance attribute when an error occurs during a load call ( #114 ). Thanks @vgavro for the catch and patch.
Prevent unnecessary queries when using the fields.Related (106). Thanks xarg for reporting and thanks jmuhlich for the PR.
Bug fixes:
Prevent unnecessary queries when using the fields.Related (106). Thanks xarg for reporting and thanks jmuhlich for the PR.
Bug fixes:
Prevent unnecessary queries when using the fields.Related ( #106 ). Thanks @xarg for reporting and thanks @jmuhlich for the PR.
Invalid inputs for compound primary keys raise a ValidationError when deserializing a scalar value (103). Thanks YuriHeupa for the PR.
Features:
Invalid inputs for compound primary keys raise a ValidationError when deserializing a scalar value (103). Thanks YuriHeupa for the PR.
Bug fixes:
Fix compatibility with marshmallow>=3.x.
Reset ModelSchema.instance after each load call, allowing schema instances to be reused (78). Thanks georgexsh for reporting.
Bug fixes:
Reset ModelSchema.instance after each load call, allowing schema instances to be reused (78). Thanks georgexsh for reporting.
Other changes:
Test against Python 3.6.
Add support for TypeDecorator-based types (83). Thanks frol.
Features:
Add support for TypeDecorator-based types (83). Thanks frol.
Bug fixes:
Fix bug that caused a validation errors for custom column types that have the python_type of uuid.UUID (54). Thanks wkevina and thanks kelvinhammond for the fix.
Other changes:
Drop official support for Python 3.3. Python>=3.4 and Python 2.7 are supported.
Features:
Add support for TypeDecorator-based types ( #83 ). Thanks @frol .
Bug fixes:
Fix bug that caused a validation errors for custom column types that have the python_type of uuid.UUID ( #54 ). Thanks @wkevina and thanks @kelvinhammond for the fix.
Other changes:
Drop official support for Python 3.3. Python>=3.4 and Python 2.7 are supported.
Allow overriding field class returned by field_for by adding the field_class param (81). Thanks cancan101.
Features:
Allow overriding field class returned by field_for by adding the field_class param (81). Thanks cancan101.
Support for SQLAlchemy JSON type (in SQLAlchemy>=1.1) (74). Thanks ewittle for the PR.
Features:
Support for SQLAlchemy JSON type (in SQLAlchemy>=1.1) (74). Thanks ewittle for the PR.
Features:
Support for SQLAlchemy JSON type (in SQLAlchemy>=1.1) ( #74 ). Thanks @ewittle for the PR.
Enable deserialization of many-to-one nested objects that do not exist in the database (69). Thanks seanharr11 for the PR.
Features:
Enable deserialization of many-to-one nested objects that do not exist in the database (69). Thanks seanharr11 for the PR.
Bug fixes:
Depend on SQLAlchemy>=0.9.7, since marshmallow-sqlalchemy uses sqlalchemy.dialects.postgresql.JSONB (65). Thanks alejom99 for reporting.
Features:
Enable deserialization of many-to-one nested objects that do not exist in the database ( #69 ). Thanks @seanharr11 for the PR.
Bug fixes:
Depend on SQLAlchemy>=0.9.7, since marshmallow-sqlalchemy uses sqlalchemy.dialects.postgresql.JSONB ( #65 ). Thanks @alejom99 for reporting.
ModelSchema and TableSchema respect field order if the ordered=True class Meta option is set (52). Thanks jeffwidman for reporting and jmcarp for the
Bug fixes:
ModelSchema and TableSchema respect field order if the ordered=True class Meta option is set (52). Thanks jeffwidman for reporting and jmcarp for the patch.
Declared fields are not introspected in order to support, e.g. column_property (57). Thanks jmcarp.
Bug fixes:
ModelSchema and TableSchema respect field order if the ordered=True class Meta option is set ( #52 ). Thanks @jeffwidman for reporting and @jmcarp for the patch.
Declared fields are not introspected in order to support, e.g. column_property ( #57 ). Thanks @jmcarp .
ModelSchema and TableSchema will respect the TYPE_MAPPING class variable of Schema subclasses when converting Columns to Fields (42). Thanks dwieeb fo
Features:
ModelSchema and TableSchema will respect the TYPE_MAPPING class variable of Schema subclasses when converting Columns to Fields (42). Thanks dwieeb for the suggestion.
Don't make marshmallow fields required for non-nullable columns if a column has a default value or autoincrements (47). Thanks jmcarp for the fix. Tha
Bug fixes:
Don't make marshmallow fields required for non-nullable columns if a column has a default value or autoincrements (47). Thanks jmcarp for the fix. Thanks AdrielVelazquez for reporting.
Bug fixes:
Don’t make marshmallow fields required for non-nullable columns if a column has a default value or autoincrements ( #47 ). Thanks @jmcarp for the fix. Thanks @AdrielVelazquez for reporting.
Add include_fk class Meta option (36). Thanks jmcarp.
Features:
Add include_fk class Meta option (36). Thanks jmcarp.
Non-nullable columns will generated required marshmallow Fields (40). Thanks jmcarp.
Improve support for MySQL BIT field (41). Thanks rudaporto.
Backwards-incompatible: Remove fields.get_primary_columns in favor of fields.get_primary_keys.
Backwards-incompatible: Remove Related.related_columns in favor of fields.related_keys.
Bug fixes:
Fix serializing relationships when using non-default column names (44). Thanks jmcarp for the fix. Thanks repole for the bug report.
Features:
Add include_fk class Meta option ( #36 ). Thanks @jmcarp .
Non-nullable columns will generated required marshmallow Fields ( #40 ). Thanks @jmcarp .
Improve support for MySQL BIT field ( #41 ). Thanks @rudaporto .
Backwards-incompatible : Remove fields.get_primary_columns in favor of fields.get_primary_keys .
Backwards-incompatible : Remove Related.related_columns in favor of fields.related_keys .
Bug fixes:
Fix serializing relationships when using non-default column names ( #44 ). Thanks @jmcarp for the fix. Thanks @repole for the bug report.
Support for compound primary keys. Thanks jmcarp.
Features:
Support for compound primary keys. Thanks jmcarp.
Other changes:
Supports marshmallow>=2.0.0.
Features:
Support for compound primary keys. Thanks @jmcarp .
Other changes:
Supports marshmallow>=2.0.0.
Add instance argument to ModelSchema constructor and ModelSchema.load which allows for updating existing DB rows (26). Thanks sssilver for reporting a
Add instance argument to ModelSchema constructor and ModelSchema.load which allows for updating existing DB rows (26). Thanks sssilver for reporting and jmcarp for the patch.
Don't autogenerate fields that are in Meta.exclude (27). Thanks jmcarp.
Raise ModelConversionError if converting properties whose column don't define a python_type. Thanks jmcarp.
Backwards-incompatible: ModelSchema.make_object is removed in favor of decorated make_instance method for compatibility with marshmallow>=2.0.0rc2.
Add instance argument to ModelSchema constructor and ModelSchema.load which allows for updating existing DB rows ( #26 ). Thanks @sssilver for reporting and @jmcarp for the patch.
Don’t autogenerate fields that are in Meta.exclude ( #27 ). Thanks @jmcarp .
Raise ModelConversionError if converting properties whose column don’t define a python_type . Thanks @jmcarp .
Backwards-incompatible : ModelSchema.make_object is removed in favor of decorated make_instance method for compatibility with marshmallow>=2.0.0rc2.
Now compatible with marshmallow>=2.0.0rc1.
Bug fixes:
Now compatible with marshmallow>=2.0.0rc1.
Correctly pass keyword arguments from field_for to generated List fields (25). Thanks sssilver for reporting.
Add TableSchema for generating Schemas from tables (4). Thanks jmcarp.
Features:
Add TableSchema for generating Schemas from tables (4). Thanks jmcarp.
Bug fixes:
Allow session to be passed to ModelSchema.validate, since it requires it. Thanks dpwrussell.
When serializing, don't skip overriden fields that are part of a polymorphic hierarchy (18). Thanks again dpwrussell.
Support:
Docs: Add new recipe for automatic generation of schemas. Thanks dpwrussell.
Features:
Add TableSchema for generating Schemas from tables ( #4 ). Thanks @jmcarp .
Bug fixes:
Allow session to be passed to ModelSchema.validate , since it requires it. Thanks @dpwrussell .
When serializing, don’t skip overriden fields that are part of a polymorphic hierarchy ( #18 ). Thanks again @dpwrussell .
Support:
Docs: Add new recipe for automatic generation of schemas. Thanks @dpwrussell .
Your coding agent can read these notes before it upgrades. Set up the MCP server →