-
-
Notifications
You must be signed in to change notification settings - Fork 771
Open
Description
Privileged issue
- I'm @tiangolo or he asked me directly to create an issue here.
Issue Content
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)]
Metadata
Metadata
Assignees
Labels
No labels