是否可以按StringProperty的长度订购查询?我试过这个:
User.query(User.facebook_id = fb_id).order(-len(str(User.name))).fetch(10)
但它显示错误:TypeError:order()需要一个Property或query Order;
答案 0 :(得分:1)
您可以使用Computed Property:
name_len = ndb.ComputedProperty(lambda self: len(self.name))
然后使用它进行查询:
User.query(User.facebook_id = fb_id).order(-User.name_len).fetch(10)
如果这不起作用,那么您需要添加IntegerProperty
并将其设置为字符串的长度(name_len = ndb.IntegerProperty()
)