- Notifications
You must be signed in to change notification settings - Fork 37
Open
Description
参考代码 2.9.3 版本:https://github.com/leancloud/python-sdk/blob/v2.9.3/leancloud/query.py#L117
query=Query(queries[0]._query_class._class_name)- 不应该使用 Query 声明新的对象,而应该使用 cls 来声明,否则会导致继承 Query 得来的 MyQuery 类的 or_ 方法和 and_ 方法返回父类声明的实例。
In [1]: fromleancloudimportQueryIn [2]: classMyQuery(Query): ...: pass ...: In [3]: type(MyQuery('User').or_(MyQuery('User'), MyQuery('User'))) Out[3]: leancloud.query.Query- 没有正确处理 ObjectMeta 中特殊处理过的 _ 开头的表。
In [1]: fromleancloudimportUserIn [2]: User.query._query_classOut[2]: leancloud.user.UserIn [3]: User.query.or_(User.query, User.query)._query_classOut[3]: leancloud.object_._UserMetadata
Metadata
Assignees
Labels
No labels