If a model has a table name that matches an existing table in the metadata,
use that table. Fixes a regression where reflected tables were not picked up
by models. (#551)
Raise the correct error when a model has a table name but no primary key.
(#556)
Fix repr on models that don't have an identity because they have not been
flushed yet. (#555)
Allow specifying a max_per_page limit for pagination, to avoid users
specifying high values in the request args. (#542)
For paginate with error_out=False, the minimum value for page is
1 and per_page is 0. (#558)
Multiple bugs with __tablename__ generation are fixed. Names will be
generated for models that define a primary key, but not for single-table
inheritance subclasses. Names will not override a declared_attr.
PrimaryKeyConstraint is detected. (#541)
Passing an existing declarative_base() as model_class to
SQLAlchemy.__init__ will use this as the base class instead of creating
one. This allows customizing the metaclass used to construct the base.
(#546)
The undocumented DeclarativeMeta internals that the extension uses for
binds and table name generation have been refactored to work as mixins.
Documentation is added about how to create a custom metaclass that does not
do table name generation. (#546)
Model and metaclass code has been moved to a new models module.
_BoundDeclarativeMeta is renamed to DefaultMeta; the old name will be
removed in 3.0. (#546)
Models have a default repr that shows the model name and primary key.
(#530)
Fixed a bug where using init_app would cause connectors to always use the
current_app rather than the app they were created for. This caused issues
when multiple apps were registered with the extension. (#547)
Hi!
A new version was just released of
Flask-SQLAlchemy
, so Doppins has upgraded your project's dependency ranges.Make sure that it doesn't break anything, and happy merging! :shipit:
Upgraded Flask-SQLAlchemy from
==2.2
to==2.4
Changelog:
Version 2.4.1
Version 2.4.0
Version 2.3.2
Install or upgrade
Install from PyPI with pip:
Changelog
#561
)Version 2.3.1
Install or upgrade
Install from PyPI with pip:
Changelog
#551
)#556
)repr
on models that don't have an identity because they have not been flushed yet. (#555
)max_per_page
limit for pagination, to avoid users specifying high values in the request args. (#542
)paginate
witherror_out=False
, the minimum value forpage
is 1 andper_page
is 0. (#558
)Version 2.3.0
Install or upgrade
Install from PyPI with pip:
Changelog
__tablename__
generation are fixed. Names will be generated for models that define a primary key, but not for single-table inheritance subclasses. Names will not override adeclared_attr
.PrimaryKeyConstraint
is detected. (#541
)declarative_base()
asmodel_class
toSQLAlchemy.__init__
will use this as the base class instead of creating one. This allows customizing the metaclass used to construct the base. (#546
)DeclarativeMeta
internals that the extension uses for binds and table name generation have been refactored to work as mixins. Documentation is added about how to create a custom metaclass that does not do table name generation. (#546
)models
module._BoundDeclarativeMeta
is renamed toDefaultMeta
; the old name will be removed in 3.0. (#546
)repr
that shows the model name and primary key. (#530
)init_app
would cause connectors to always use thecurrent_app
rather than the app they were created for. This caused issues when multiple apps were registered with the extension. (#547
)