sqlalchemy.exc.ArgumentError: Column expression, FROM clause, or other columns clause element expected, got <class 'sqlalchemy.orm.decl_api.Model'>.

出现 “sqlalchemy.exc.ArgumentError: Column expression, FROM clause, or other columns clause element expected, got <class ‘sqlalchemy.orm.decl_api.Model’>” 错误可能是由于在查询中使用了错误的语法或方法导致的。请确保您正确地使用了SQLAlchemy提供的API来构建查询。

以下是一些可能导致此错误的常见问题和解决方案:

  1. 查询语法错误:请检查您的查询语句是否正确。确保您使用了正确的表名、列名和查询方法。例如,使用 .all(), .first(), .filter() 等方法来构建查询语句,而不是直接使用模型类名。

  2. 查询语句位置错误:确保您在查询语句中正确地指定了要查询的表或模型。在查询时,您应该使用 db.session.query() 方法,并在其中指定要查询的模型。例如,使用 db.session.query(Model) 来查询模型对应的表。

  3. 未导入模型类:如果您在查询之前没有正确地导入相关的模型类,那么会导致该错误。在您的查询文件中,确保您已经正确地导入了模型类。例如,使用 from myapp.models import Model 来导入模型类。

  4. 未创建数据库表:如果您的数据库中还没有相关的表,那么在查询时可能会出现此错误。请确保您已经使用SQLAlchemy提供的 db.CreateAll() 方法或类似的方式创建了数据库表。

如果您仍然遇到此错误,请检查您的查询语句和相关代码,并确保您遵循了正确的SQLAlchemy查询语法和用法。另外,您可以提供更多的代码和具体错误信息,以帮助我们更好地理解和解决问题。