Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine AppEngine NDB查询筛选器_Google App Engine_App Engine Ndb - Fatal编程技术网

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(,降序)
这些都是你不能用关键字参数表达的