__mapper_args__ = {"order_by": country_code}報錯unexpected keyword argument 'order_by',是什么原因呢
Traceback (most recent call last):
? File "D:\Anaconda3\envs\fastapi\lib\runpy.py", line 194, in _run_module_as_main
? ? return _run_code(code, main_globals, None,
? File "D:\Anaconda3\envs\fastapi\lib\runpy.py", line 87, in _run_code
? ? exec(code, run_globals)
? File "c:\Users\withr\.vscode\extensions\ms-python.python-2021.3.680753044\pythonFiles\lib\python\debugpy\__main__.py", line 45, in <module>
? ? cli.main()
? File "c:\Users\withr\.vscode\extensions\ms-python.python-2021.3.680753044\pythonFiles\lib\python\debugpy/..\debugpy\server\cli.py", line 444, in main
? ? run()
? File "c:\Users\withr\.vscode\extensions\ms-python.python-2021.3.680753044\pythonFiles\lib\python\debugpy/..\debugpy\server\cli.py", line 285, in run_file
? ? runpy.run_path(target_as_str, run_name=compat.force_str("__main__"))
? File "D:\Anaconda3\envs\fastapi\lib\runpy.py", line 265, in run_path
? ? return _run_module_code(code, init_globals, run_name,
? File "D:\Anaconda3\envs\fastapi\lib\runpy.py", line 97, in _run_module_code
? ? _run_code(code, mod_globals, init_globals,
? File "D:\Anaconda3\envs\fastapi\lib\runpy.py", line 87, in _run_code
? ? exec(code, run_globals)
? File "run.py", line 12, in <module>
? ? from coronavirus import applications
? File "E:\SyncWorkspace\Code\PY\fastapi\fastapi_covid19\coronavirus\__init__.py", line 8, in <module>? ? ?
? ? from .main import applications
? File "E:\SyncWorkspace\Code\PY\fastapi\fastapi_covid19\coronavirus\main.py", line 13, in <module>? ? ? ??
? ? from coronavirus import crud, schemas
? File "E:\SyncWorkspace\Code\PY\fastapi\fastapi_covid19\coronavirus\crud.py", line 9, in <module>
? ? from coronavirus import models, schemas
? File "E:\SyncWorkspace\Code\PY\fastapi\fastapi_covid19\coronavirus\models.py", line 16, in <module>? ? ??
? ? class City(Base):
? File "D:\Anaconda3\envs\fastapi\lib\site-packages\sqlalchemy\orm\decl_api.py", line 75, in __init__? ? ??
? ? _as_declarative(reg, cls, dict_)
? File "D:\Anaconda3\envs\fastapi\lib\site-packages\sqlalchemy\orm\decl_base.py", line 126, in _as_declarative
? ? return _MapperConfig.setup_mapping(registry, cls, dict_, None, {})
? File "D:\Anaconda3\envs\fastapi\lib\site-packages\sqlalchemy\orm\decl_base.py", line 177, in setup_mapping
? ? return cfg_cls(registry, cls_, dict_, table, mapper_kw)
? File "D:\Anaconda3\envs\fastapi\lib\site-packages\sqlalchemy\orm\decl_base.py", line 314, in __init__? ??
? ? self._early_mapping(mapper_kw)
? File "D:\Anaconda3\envs\fastapi\lib\site-packages\sqlalchemy\orm\decl_base.py", line 200, in _early_mapping
? ? self.map(mapper_kw)
? File "D:\Anaconda3\envs\fastapi\lib\site-packages\sqlalchemy\orm\decl_base.py", line 971, in map
? ? mapper_cls(self.cls, self.local_table, **self.mapper_args),
TypeError: __init__() got an unexpected keyword argument 'order_by'
2021-10-04
新版本的 sqlalchemy 丟棄了 __mappter_args__ 當(dāng)中設(shè)置的方法
應(yīng)當(dāng)用 db.query().order_by() 直接在 Query 對象后面顯示地調(diào)用 order_by 函數(shù)
這節(jié)課里, 有一張 City 表 和一張 Data 表, 對應(yīng)的 crud 方法里面
db.query(models.City).order_by(models.City.province).offset().limit().all()
db.query(models.Data).order_by(models.Data.confirmed)....