File "C:\Users\petzold\PycharmProjects\script_executor\model\exec_result.py", line 9, in <module> class ExecResult(SQLModel, table=True): ...<8 lines>... update_time: Annotated[datetime, Field(sa_column=Column('update_time', DateTime, default=func.now(), onupdate=func.now()), description='更新时间'), PlainSerializer(lambda x: x.strftime('%Y-%m-%d %H:%M:%S'), return_type=str)] File "C:\Users\petzold\PycharmProjects\script_executor\.venv\Lib\site-packages\sqlmodel\main.py", line 644, in __init__ DeclarativeMeta.__init__(cls, classname, bases, dict_, **kw) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\petzold\PycharmProjects\script_executor\.venv\Lib\site-packages\sqlalchemy\orm\decl_api.py", line 199, in __init__ _as_declarative(reg, cls, dict_) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "C:\Users\petzold\PycharmProjects\script_executor\.venv\Lib\site-packages\sqlalchemy\orm\decl_base.py", line 245, in _as_declarative return _MapperConfig.setup_mapping(registry, cls, dict_, None, {}) ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\petzold\PycharmProjects\script_executor\.venv\Lib\site-packages\sqlalchemy\orm\decl_base.py", line 326, in setup_mapping return _ClassScanMapperConfig( registry, cls_, dict_, table, mapper_kw ) File "C:\Users\petzold\PycharmProjects\script_executor\.venv\Lib\site-packages\sqlalchemy\orm\decl_base.py", line 581, in __init__ self._early_mapping(mapper_kw) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "C:\Users\petzold\PycharmProjects\script_executor\.venv\Lib\site-packages\sqlalchemy\orm\decl_base.py", line 367, in _early_mapping self.map(mapper_kw) ~~~~~~~~^^^^^^^^^^^ File "C:\Users\petzold\PycharmProjects\script_executor\.venv\Lib\site-packages\sqlalchemy\orm\decl_base.py", line 1995, in map mapper_cls(self.cls, self.local_table, **self.mapper_args), ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<string>", line 2, in __init__ File "C:\Users\petzold\PycharmProjects\script_executor\.venv\Lib\site-packages\sqlalchemy\util\deprecations.py", line 281, in warned return fn(*args, **kwargs) # type: ignore[no-any-return] File "C:\Users\petzold\PycharmProjects\script_executor\.venv\Lib\site-packages\sqlalchemy\orm\mapper.py", line 866, in __init__ self._configure_pks() ~~~~~~~~~~~~~~~~~~~^^ File "C:\Users\petzold\PycharmProjects\script_executor\.venv\Lib\site-packages\sqlalchemy\orm\mapper.py", line 1652, in _configure_pks raise sa_exc.ArgumentError( ...<3 lines>... ) sqlalchemy.exc.ArgumentError: Mapper Mapper[ExecResult(exec_result)] could not assemble any primary key columns for mapped table 'exec_result'
my model is
class ExecResult(SQLModel, table=True): """执行结果""" __tablename__ = 'exec_result' id: Annotated[int, Field(sa_column=Column('id', primary_key=True), description="id")] script_id: Annotated[int, Field(description="脚本id")] status: Annotated[int, Field(description="执行状态")] result: Annotated[str, Field(description="执行结果")] error: Annotated[str, Field(description="错误输出")] create_time: Annotated[datetime, Field(sa_column=Column('create_time', DateTime, default=func.now()), description='创建时间'), PlainSerializer(lambda x: x.strftime('%Y-%m-%d %H:%M:%S'), return_type=str)] update_time: Annotated[datetime, Field(sa_column=Column('update_time', DateTime, default=func.now(), onupdate=func.now()), description='更新时间'), PlainSerializer(lambda x: x.strftime('%Y-%m-%d %H:%M:%S'), return_type=str)]
this is also not work
class ExecResult(SQLModel, table=True): """执行结果""" __tablename__ = 'exec_result' id: Annotated[int, Field(primary_key=True, description="id")] script_id: Annotated[int, Field(description="脚本id")] status: Annotated[int, Field(description="执行状态")] result: Annotated[str, Field(description="执行结果")] error: Annotated[str, Field(description="错误输出")] create_time: Annotated[datetime, Field(sa_column=Column('create_time', DateTime, default=func.now()), description='创建时间'), PlainSerializer(lambda x: x.strftime('%Y-%m-%d %H:%M:%S'), return_type=str)] update_time: Annotated[datetime, Field(sa_column=Column('update_time', DateTime, default=func.now(), onupdate=func.now()), description='更新时间'), PlainSerializer(lambda x: x.strftime('%Y-%m-%d %H:%M:%S'), return_type=str)]
python 3.14, asyncmy>=0.2.10
Related discussion: #1597 Related PRs:
One more related PR: https://github.com/fastapi/sqlmodel/pull/1607/files
Close in favor of more descriptive: #1623
Activity
cjdxhjj commented on Oct 14, 2025
python 3.14, asyncmy>=0.2.10
cjdxhjj commented on Oct 14, 2025
YuriiMotov commented on Oct 14, 2025
Related discussion: #1597
Related PRs:
vimota commented on Oct 15, 2025
One more related PR: https://github.com/fastapi/sqlmodel/pull/1607/files
YuriiMotov commented on Oct 27, 2025
Close in favor of more descriptive: #1623