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: