Skip to content

Commit 6d7a7e3

Browse files
committed
Style and sphinx checks
1 parent caee46a commit 6d7a7e3

File tree

4 files changed

+23
-14
lines changed

4 files changed

+23
-14
lines changed

src/flask_sqlalchemy/extension.py

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,9 @@ class _FSAModel(Model):
4848
metadata: sa.MetaData
4949

5050

51-
def _get_2x_declarative_bases(model_class: t.Type[_FSA_MC]) -> list[t.Type]:
51+
def _get_2x_declarative_bases(
52+
model_class: t.Type[_FSA_MC],
53+
) -> list[t.Type[t.Union[sa_orm.DeclarativeBase, sa_orm.DeclarativeBaseNoMeta]]]:
5254
return [
5355
b
5456
for b in model_class.__bases__
@@ -81,10 +83,6 @@ class SQLAlchemy:
8183
:param app: Call :meth:`init_app` on this Flask application now.
8284
:param metadata: Use this as the default :class:`sqlalchemy.schema.MetaData`. Useful
8385
for setting a naming convention.
84-
.. deprecated:: 3.1.0
85-
This parameter can still be used in conjunction with SQLAlchemy 1.x classes,
86-
but is ignored when using SQLAlchemy 2.x style of declarative classes.
87-
Instead, specify metadata on your Base class.
8886
:param session_options: Arguments used by :attr:`session` to create each session
8987
instance. A ``scopefunc`` key will be passed to the scoped session, not the
9088
session instance. See :class:`sqlalchemy.orm.sessionmaker` for a list of
@@ -101,8 +99,16 @@ class SQLAlchemy:
10199
``flask shell``.
102100
103101
.. versionchanged:: 3.1.0
104-
Added the ``disable_autonaming`` parameter and changed ``model_class`` parameter
105-
to accept a SQLAlchemy 2.0-style declarative base subclass.
102+
The ``metadata`` parameter can still be used with SQLAlchemy 1.x classes,
103+
but is ignored when using SQLAlchemy 2.x style of declarative classes.
104+
Instead, specify metadata on your Base class.
105+
106+
.. versionchanged:: 3.1.0
107+
Added the ``disable_autonaming`` parameter.
108+
109+
.. versionchanged:: 3.1.0
110+
Changed ``model_class`` parameter to accepta SQLAlchemy 2.x
111+
declarative base subclass.
106112
107113
.. versionchanged:: 3.0
108114
An active Flask application context is always required to access ``session`` and
@@ -534,7 +540,10 @@ def _make_declarative_base(
534540
" Got: {}".format(model_class.__bases__)
535541
)
536542
elif len(declarative_bases) == 1:
537-
body = {"__fsa__": self, "metadata": model_class.metadata}
543+
body = {
544+
"__fsa__": self,
545+
"metadata": model_class.metadata, # type: ignore[attr-defined]
546+
}
538547
mixin_classes = [BindMixin, NameMixin, Model]
539548
if disable_autonaming:
540549
mixin_classes.remove(NameMixin)

tests/test_extension_object.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ def test_get_or_404_kwargs(app: Flask, model_class: t.Any) -> None:
2929

3030
if issubclass(db.Model, (sa_orm.MappedAsDataclass)):
3131

32-
class User(db.Model): # type: ignore[no-redef]
32+
class User(db.Model):
3333
id: sa_orm.Mapped[int] = sa_orm.mapped_column(
3434
sa.Integer, primary_key=True, init=False
3535
)
3636

37-
class Todo(db.Model): # type: ignore[no-redef]
37+
class Todo(db.Model):
3838
id: sa_orm.Mapped[int] = sa_orm.mapped_column(
3939
sa.Integer, primary_key=True, init=False
4040
)

tests/test_session.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,13 +108,13 @@ class Admin(User):
108108

109109
elif issubclass(db.Model, (sa_orm.DeclarativeBase, sa_orm.DeclarativeBaseNoMeta)):
110110

111-
class User(db.Model):
111+
class User(db.Model): # type: ignore[no-redef]
112112
__bind_key__ = "a"
113113
id: sa_orm.Mapped[int] = sa_orm.mapped_column(sa.Integer, primary_key=True)
114114
type: sa_orm.Mapped[str] = sa_orm.mapped_column(sa.String, nullable=False)
115115
__mapper_args__ = {"polymorphic_on": type, "polymorphic_identity": "user"}
116116

117-
class Admin(User):
117+
class Admin(User): # type: ignore[no-redef]
118118
id: sa_orm.Mapped[int] = sa_orm.mapped_column(
119119
sa.ForeignKey(User.id), primary_key=True
120120
)
@@ -130,7 +130,7 @@ class User(db.Model): # type: ignore[no-redef]
130130
__mapper_args__ = {"polymorphic_on": type, "polymorphic_identity": "user"}
131131

132132
class Admin(User): # type: ignore[no-redef]
133-
id = sa.Column(sa.ForeignKey(User.id), primary_key=True)
133+
id = sa.Column(sa.ForeignKey(User.id), primary_key=True) # type: ignore[assignment]
134134
org = sa.Column(sa.String, nullable=False)
135135
__mapper_args__ = {"polymorphic_identity": "admin"}
136136

tests/test_track_modifications.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ def after_commit(sender: Flask, changes: list[tuple[t.Any, str]]) -> None:
7171

7272
db.session.remove()
7373
item = db.session.get(Todo, 1) # type: ignore[assignment]
74-
item.title = "test" # type: ignore[assignment]
74+
item.title = "test"
7575
db.session.commit()
7676
assert len(before) == 1
7777
assert before[0] == (item, "update")

0 commit comments

Comments
 (0)