医生说把这个放在什么地方:
from sqlalchemy import event
from colanderalchemy import setup_schema
event.listen(mapper, 'mapper_configured', setup_schema)这个在金字塔里该去哪里?我应该使用金字塔事件而不是SQLAlchemy的吗?
当我尝试将它放在models.py文件的顶部时,它抱怨mapper不存在;我应该继续使用它吗?
发布于 2015-04-05 06:01:46
您需要使用SQLAlchemy事件,因为它们告诉SQLAlchemy内部正在发生什么(它们根本与金字塔事件无关)。
ColanderAlchemy的文档是令人困惑的;这里他们为mapper调用的是您的模型类(它不是映射器)。
因此,在您的模型中,您应该这样做:
class MyModelClass(Base):
...
event.listen(
MyModelClass,
"mapper_configured",
setup_schema)发布于 2015-04-06 15:54:23
测试套件显示它是这样工作的:
from sqlalchemy import event
from colanderalchemy import setup_schema
from sqlalchemy.orm import mapper
event.listen(mapper, 'mapper_configured', setup_schema)请让我知道,如果它为您修复,我可以去更新相应的文件。
https://stackoverflow.com/questions/29454544
复制相似问题