无法处理查询对象结果。在这个例子中我没有使用外键。你知道吗
lookuplocation = aliased(ValuePair)
lookupoccupation = aliased(ValuePair)
persons = db.session.query(Person.lastname, lookuplocation.displaytext, lookupoccupation.displaytext).\
outerjoin(lookuplocation, Person.location == lookuplocation.valuepairid).\
outerjoin(lookupoccupation, Person.occupation1 == lookupoccupation.valuepairid).all()
就数据而言,结果是正确的。但是,当我尝试访问单个数据行时,我遇到了一个问题:
人员[0]。lastname按预期工作并返回数据。你知道吗
然而,有一个个人.displaytext但由于我给displaytext实体取了别名,所以只得到一个结果。我理解为什么会得到结果,但我需要知道我将使用什么别名字段名来获得两个displaytext列。你知道吗
上述连接生成的实际SQL语句如下:
SELECT person.lastname AS person_lastname, valuepair_1.displaytext AS valuepair_1_displaytext, valuepair_2.displaytext AS valuepair_2_displaytext
FROM person LEFT OUTER JOIN valuepair AS valuepair_1 ON person.location = valuepair_1.valuepairid LEFT OUTER JOIN valuepair AS valuepair_2 ON person.occupation1 = valuepair_2.valuepairid
但是这些“as”字段名在结果中对我都不可用。你知道吗
我刚接触SqlAlchemy,所以很可能这是一个“新手”问题。你知道吗
谢谢。你知道吗
抱歉-RTFM问题-应该是:
你知道吗lookuplocation.displaytext.label标签(“myfield1”), lookupoccupation.displaytext.label标签(“myfield2”)
返回结果后,引用字段个人.myfield你知道吗
很简单。你知道吗
相关问题 更多 >
编程相关推荐