gpt4 book ai didi

python - 简单的 sqlalchemy 过滤器不起作用

转载 作者:行者123 更新时间:2023-11-28 17:54:13 26 4
gpt4 key购买 nike

像这样选择所有作品:

q = session.query(products)

现在我想添加一个 WHERE 过滤器,所以我正在尝试:

q = session.query(products).filter_by(stock_count=0)

我收到一条错误消息,指出“nonetype”对象没有属性“class_manager”。

不确定是什么问题?

更新该列似乎映射得很好,就像我做的那样:

q = session.query(products)

for p in q:
print p.stock_count

它输出值。

但如果我这样做:

p.stock_count = 6

我也收到错误消息:“无法设置属性”

所以我可以查询它,但是将列添加为过滤器或设置值会导致错误。

奇怪不?

最佳答案

您可能正在尝试对裸表对象使用 orm。

此代码适用于 0.5(基本 centos 6.2 中的那个):

#!/usr/bin/env python
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base

db = create_engine(localopts.connect_string)
Session = sessionmaker(bind=db)

Base = declarative_base()
Base.metadata.reflect(bind=db)

class some_table(Base):
__table__ = Base.metadata.tables['table_name']

session = Session()

for row in session.query(some_table.username).filter_by(username="some-user"):
print row

关于python - 简单的 sqlalchemy 过滤器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3392325/

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