hon*_*ute 5 python sqlalchemy python-3.x
我在从主查询函数进行子查询时遇到问题。我的查询是这样的类中的一个函数
class MyClass():
...
...
@property
def main_query(self):
main_query = session.query(MainTable)
.join(otherTable)
.filter(otherTable.id = self.id)
return main_query
Run Code Online (Sandbox Code Playgroud)
出于某种原因,当我尝试在另一个模块中执行如下简单的操作时:
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'
Run Code Online (Sandbox Code Playgroud)
我试图从main_query取决于用户的下拉选择中分离子查询。
似乎我无法从类中运行另一个查询,因为当我只是尝试这样做时:
q = DBSession.query(q) # This already gives me the error
AttributeError: 'Query' object has no attribute 'is_clause_element'
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我吗?
小智 0
你可以参考我的错误:
AttributeError:“ForeignKey”对象没有属性“is_clause_element”
我发现错误出在模型类中;
我将db.ForeignKey('Model.user_id')更改为foreign_keys=('Model.user_id) 并解决了!
class User(UserMixin, db.Model):
...
...
message = db.relationship('Message', foreign_keys='Message.user_id')
#note that I use db.relationship NOT db.Column
Run Code Online (Sandbox Code Playgroud)