gpt4 book ai didi

python - sqlalchemy:由于缺少映射器属性/AttributeError,filter() 无法正常工作

转载 作者:太空宇宙 更新时间:2023-11-03 19:07:43 26 4
gpt4 key购买 nike

我的 SQLAlchemy 0.8 代码如下所示:

模型.py:

from sqlalchemy import Table
from sqlalchemy.orm import mapper

class Food(object):
pass

def initialize_model(metadata):
FoodTable = Table('food', metadata, schema='food', autoload=True)
globals()['Food'] = mapper(Food, FoodTable)

应用程序.py

engine = create_engine(dsn, convert_unicode=True)$
metadata = MetaData(engine)$

import xxx.core.model$
xxx.core.model.initialize_model(metadata)$

session = scoped_session(sessionmaker(bind=engine, twophase=True))

from xxx.core.model import Food
results = session.query(Food).filter(Food.nbo_no==query)

这给了我 Food.ndb_no 的 AttributeError 尽管 Food 表包含这个列“ndb_no”。为什么此列没有映射到“食物”映射器?

最佳答案

通过使用声明层并将Base直接传递给initialize_model()方法来解决:

  9 def initialize_model(Base):
10
11 class Food(Base, Mixin):
12 __tablename__ = 'food'
13 __table_args__ = {'schema': 'food', 'autoload': True}
14 globals()['Food'] = Food

关于python - sqlalchemy:由于缺少映射器属性/AttributeError,filter() 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14181481/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com