gpt4 book ai didi

python - SQLAlchemy 子查询获取 AttributeError : 'Query' object has no attribute 'is_clause_element'

转载 作者:行者123 更新时间:2023-12-03 17:31:30 26 4
gpt4 key购买 nike

我无法从主查询功能进行子查询。我的查询是这样的类中的一个函数

class MyClass():
...
...
@property
def main_query(self):
main_query = session.query(MainTable)
.join(otherTable)
.filter(otherTable.id = self.id)
return main_query

出于某种原因,当我尝试在另一个模块中执行如下简单的操作时:
q = MyClass.main_query(111)   # 111 is the id here
print(str(q)) # I can see this print, it prints the correct query statement
subquery_maxdate = session.query(func.max(Table1.date).label("max_date")).subquery()
query = DBSession.query(q, subquery_maxdate) #This gives me an error

AttributeError: 'Query' object has no attribute 'is_clause_element'

我正在尝试从 main_query 中分支子查询取决于用户下拉选择。

似乎我无法从类(class)运行另一个查询,因为当我只是简单地尝试这个时:
q = DBSession.query(q)   # This already gives me the error

AttributeError: 'Query' object has no attribute 'is_clause_element'

有人可以帮我吗?

最佳答案

你可以引用我的错误:

AttributeError: 'ForeignKey' object has no attribute'is_clause_element'


我发现错误在模型类中;

I changed db.ForeignKey('Model.user_id') to foreign_keys=('Model.user_id) and it solve!

class User(UserMixin, db.Model):
...
...
message = db.relationship('Message', foreign_keys='Message.user_id')
#note that I use db.relationship NOT db.Column

关于python - SQLAlchemy 子查询获取 AttributeError : 'Query' object has no attribute 'is_clause_element' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53127833/

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