amisadmin / fastapi-amis-admin

FastAPI-Amis-Admin is a high-performance, efficient and easily extensible FastAPI admin framework. Inspired by django-admin, and has as many powerful functions as django-admin.

Home Page:http://docs.amis.work

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

sqlalchemy.exc.ArgumentError: Mapper mapped class UserRoleLink->auth_user_roles could not assemble any primary key columns for mapped table 'auth_user_roles'

Mrzhangjwei opened this issue · comments

您好,我在使用的过程中有一点点问题,希望能得到您的思路指导。

报错信息如下:

INFO:     Started reloader process [1] using StatReload
Process SpawnProcess-1:
Traceback (most recent call last):
  File "/opt/conda/lib/python3.9/multiprocessing/process.py", line 315, in _bootstrap
    self.run()
  File "/opt/conda/lib/python3.9/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/opt/conda/lib/python3.9/site-packages/uvicorn/_subprocess.py", line 76, in subprocess_started
    target(sockets=sockets)
  File "/opt/conda/lib/python3.9/site-packages/uvicorn/server.py", line 60, in run
    return asyncio.run(self.serve(sockets=sockets))
  File "/opt/conda/lib/python3.9/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/opt/conda/lib/python3.9/asyncio/base_events.py", line 647, in run_until_complete
    return future.result()
  File "/opt/conda/lib/python3.9/site-packages/uvicorn/server.py", line 67, in serve
    config.load()
  File "/opt/conda/lib/python3.9/site-packages/uvicorn/config.py", line 477, in load
    self.loaded_app = import_from_string(self.app)
  File "/opt/conda/lib/python3.9/site-packages/uvicorn/importer.py", line 21, in import_from_string
    module = importlib.import_module(module_str)
  File "/opt/conda/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/jovyan/./ui_server/main.py", line 7, in <module>
    from fastapi_user_auth.auth import AuthBackend
  File "/opt/conda/lib/python3.9/site-packages/fastapi_user_auth/auth/__init__.py", line 1, in <module>
    from .auth import Auth as Auth
  File "/opt/conda/lib/python3.9/site-packages/fastapi_user_auth/auth/auth.py", line 37, in <module>
    from .backends.base import BaseTokenStore
  File "/opt/conda/lib/python3.9/site-packages/fastapi_user_auth/auth/backends/base.py", line 3, in <module>
    from fastapi_user_auth.auth.schemas import BaseTokenData
  File "/opt/conda/lib/python3.9/site-packages/fastapi_user_auth/auth/schemas.py", line 5, in <module>
    from .models import BaseUser, EmailMixin, PasswordMixin, UsernameMixin
  File "/opt/conda/lib/python3.9/site-packages/fastapi_user_auth/auth/models.py", line 56, in <module>
    class UserRoleLink(SQLModel, table=True):
  File "/opt/conda/lib/python3.9/site-packages/sqlmodelx/main.py", line 182, in __init__
    DeclarativeMeta.__init__(cls, classname, bases, dict_used, **kw)
  File "/opt/conda/lib/python3.9/site-packages/sqlalchemy/orm/decl_api.py", line 72, in __init__
    _as_declarative(reg, cls, dict_)
  File "/opt/conda/lib/python3.9/site-packages/sqlalchemy/orm/decl_base.py", line 126, in _as_declarative
    return _MapperConfig.setup_mapping(registry, cls, dict_, None, {})
  File "/opt/conda/lib/python3.9/site-packages/sqlalchemy/orm/decl_base.py", line 177, in setup_mapping
    return cfg_cls(registry, cls_, dict_, table, mapper_kw)
  File "/opt/conda/lib/python3.9/site-packages/sqlalchemy/orm/decl_base.py", line 326, in __init__
    self._early_mapping(mapper_kw)
  File "/opt/conda/lib/python3.9/site-packages/sqlalchemy/orm/decl_base.py", line 209, in _early_mapping
    self.map(mapper_kw)
  File "/opt/conda/lib/python3.9/site-packages/sqlalchemy/orm/decl_base.py", line 1004, in map
    mapper_cls(self.cls, self.local_table, **self.mapper_args),
  File "<string>", line 2, in __init__
  File "/opt/conda/lib/python3.9/site-packages/sqlalchemy/util/deprecations.py", line 298, in warned
    return fn(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/sqlalchemy/orm/mapper.py", line 685, in __init__
    self._configure_pks()
  File "/opt/conda/lib/python3.9/site-packages/sqlalchemy/orm/mapper.py", line 1370, in _configure_pks
    raise sa_exc.ArgumentError(
sqlalchemy.exc.ArgumentError: Mapper mapped class UserRoleLink->auth_user_roles could not assemble any primary key columns for mapped table 'auth_user_roles'

我的环境:
FROM jupyterhub/k8s-singleuser-sample:1.2.0

我的pip包版本:
`
aiosqlite 0.17.0

sqlalchemy_database 0.1.0

sqlalchemy2-stubs 0.0.2a29

sqlmodel 0.0.8

sqlmodelx 0.0.4

sqlparse 0.4.3

`

终于找到解决方案:SQLAlchemy版本升级到1.4.41,即可解决。