SQLAlchemy 在不同文件引用两次 Model 后提示 `[table name] is already defined for this MetaData instance`

2015-11-05 15:08:30 +08:00
 WildCat

源代码在:https://github.com/imWildCat/kalecgos-docker

我在 web_server.pydownloader.py 里都有引用 kalecgos.db.models ,但是提示错误。

加了 __table_args__ = {"useexisting": True} 后则提示:

InvalidRequestError: Multiple classes found for path "File" in the registry of this declarative base. Please use a fully module-qualified path.

感觉都是初始化了两次, Google 了半天找不到相关问题,请问怎么解决?

Python 新手,请多吐槽。

3639 次点击
所在节点    Python
5 条回复
huson
2015-11-05 16:18:42 +08:00
是重复载入了吧 你用了一个 import * 在 web_server
WildCat
2015-11-05 16:20:31 +08:00
@huson 是的,那么如何解决呢,不在一个文件中 import * 也不行吗
huson
2015-11-05 16:24:22 +08:00
不是已经提示你了吗 Please use a fully module-qualified path
huson
2015-11-05 16:25:58 +08:00
排查下 很快就能解决了
WildCat
2015-11-05 16:29:14 +08:00
@huson 现在的 path 还不够模块化吗?具体怎么写才叫模块化?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/233856

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX