From f242839489f9ce45355154c6177f16fdc979806c Mon Sep 17 00:00:00 2001 From: pavel Date: Wed, 6 Mar 2024 00:58:56 +0300 Subject: [PATCH] fix column-property (#250) --- docs/changelog/fragments/250.bugfix.rst | 1 + src/adaptix/_internal/model_tools/introspection/sqlalchemy.py | 4 ++++ 2 files changed, 5 insertions(+) create mode 100644 docs/changelog/fragments/250.bugfix.rst diff --git a/docs/changelog/fragments/250.bugfix.rst b/docs/changelog/fragments/250.bugfix.rst new file mode 100644 index 00000000..79c3fe4b --- /dev/null +++ b/docs/changelog/fragments/250.bugfix.rst @@ -0,0 +1 @@ +Fix introspection of sqlalchemy models with column_property (all ColumnElement is ignored excepting Column itself) diff --git a/src/adaptix/_internal/model_tools/introspection/sqlalchemy.py b/src/adaptix/_internal/model_tools/introspection/sqlalchemy.py index 3ce1ea54..aa399ca9 100644 --- a/src/adaptix/_internal/model_tools/introspection/sqlalchemy.py +++ b/src/adaptix/_internal/model_tools/introspection/sqlalchemy.py @@ -131,6 +131,9 @@ def _get_input_shape( fields = [] params = [] for column in columns: + if not isinstance(column, sqlalchemy.Column): + continue + fields.append( InputField( id=column.key, @@ -197,6 +200,7 @@ def _get_output_shape( accessor=create_attr_accessor(column.name, is_required=True), ) for column in columns + if isinstance(column, sqlalchemy.Column) ] for relationship in relationships: if relationship.collection_class is not None: