Google app engine AppEngine NDB查询筛选器
以下两种带过滤器的查询方法之间有什么区别Google app engine AppEngine NDB查询筛选器,google-app-engine,app-engine-ndb,Google App Engine,App Engine Ndb,以下两种带过滤器的查询方法之间有什么区别 @classmethod def get_by_user_id(cls, ancestor_key, user_id): return cls.query(cls.user_id==user_id, ancestor=ancestor_key).get() 及 似乎给出了相同的结果,这些结果是由用户id值过滤的条目。谢谢。您会发现对于这个简单的情况没有区别。第二个只是第一个样式使用关键字args查找属性名的快捷方式 但是,您不能在希望使用第二种
@classmethod
def get_by_user_id(cls, ancestor_key, user_id):
return cls.query(cls.user_id==user_id, ancestor=ancestor_key).get()
及
似乎给出了相同的结果,这些结果是由用户id值过滤的条目。谢谢。您会发现对于这个简单的情况没有区别。第二个只是第一个样式使用关键字args查找属性名的快捷方式 但是,您不能在希望使用第二种样式时使用IN()运算符或排序顺序 使用表达式时,将创建一个FilterNode或PropertyOrder实例。e、 g
dev~cash-drawer> models.InvoiceItem.price == 100
FilterNode('price', '=', 10000)
dev~cash-drawer> models.InvoiceItem.price.IN([100,])
FilterNode('price', '=', 10000)
dev~cash-drawer> -models.InvoiceItem.price
PropertyOrder(<price>, DESCENDING)
dev~现金抽屉>models.InvoiceItem.price==100
FilterNode('price','=',10000)
dev~现金抽屉>models.InvoiceItem.price.IN([100,])
FilterNode('price','=',10000)
dev~现金抽屉>-models.InvoiceItem.price
PropertyOrder(,降序)
这些都是你不能用关键字参数来表达的。你会发现这个简单的例子没有什么不同。第二个只是第一个样式使用关键字args查找属性名的快捷方式 但是,您不能在希望使用第二种样式时使用IN()运算符或排序顺序 使用表达式时,将创建一个FilterNode或PropertyOrder实例。e、 g
dev~cash-drawer> models.InvoiceItem.price == 100
FilterNode('price', '=', 10000)
dev~cash-drawer> models.InvoiceItem.price.IN([100,])
FilterNode('price', '=', 10000)
dev~cash-drawer> -models.InvoiceItem.price
PropertyOrder(<price>, DESCENDING)
dev~现金抽屉>models.InvoiceItem.price==100
FilterNode('price','=',10000)
dev~现金抽屉>models.InvoiceItem.price.IN([100,])
FilterNode('price','=',10000)
dev~现金抽屉>-models.InvoiceItem.price
PropertyOrder(,降序)
这些都是你不能用关键字参数表达的