Python SQLAlchemy根据特定属性/列值从关系查询结果中查找记录

Python SQLAlchemy根据特定属性/列值从关系查询结果中查找记录,python,python-3.x,sqlalchemy,flask-sqlalchemy,Python,Python 3.x,Sqlalchemy,Flask Sqlalchemy,我有一个DB模型,在两个不同的表上有一对多的关系 关系运行良好,我设法查询所有: items = user.Items.all() for item in items : print('>>>>> TEST: %s <<<<<', item.name) # I can iterate item.name here 这给我带来了一个错误: “AppenderSequery”对象没有属性“Name” 问题:是否有一条语句可

我有一个DB模型,在两个不同的表上有一对多的关系

关系运行良好,我设法查询所有:

items = user.Items.all()
for item in items :
    print('>>>>> TEST: %s <<<<<', item.name)
    # I can iterate item.name here
这给我带来了一个错误:

“AppenderSequery”对象没有属性“Name”


问题:是否有一条语句可以根据特定属性/列值(非ID)查找记录?

是。使用项目模型而不是用户的关系属性进行查询
Item.Name==needle
或诸如此类。猜测,因为你没有包括模型。我建议你读一下这些文件,给他们一些思考。您似乎要解决的关键点是,当配置为动态时,关系属性本身是一个查询对象,而不是相关模型或类似的对象。如何获取项模型?我只有一个内部有项目关系的用户模型。如果我执行user.Items.all(),它将为我提供此特定用户拥有的所有项目的列表。从这个列表中,我想根据它的名称抓取/捕获该项(而不做for循环)。您肯定已经在某处定义了模型类项或类似项。您在关系定义中直接或延迟引用的项。啊,我知道了,我只需要导入项模型并在筛选器参数中引用它-
user.Items.Filter(Item.Name='Needle')。first()
。。。非常感谢。你可以考虑把它作为你自己问题的答案。
item = user.Items.filter(user.Items.Name == needle)