【问题标题】:AppEngine NDB query filtersAppEngine NDB 查询过滤器
【发布时间】:2013-08-17 00:17:35
【问题描述】:

以下两种带过滤器的查询方法有什么区别?

@classmethod
def get_by_user_id(cls, ancestor_key, user_id):
    return cls.query(cls.user_id==user_id, ancestor=ancestor_key).get()

@classmethod
def get_by_user_id(cls, ancestor_key, user_id):
    return cls.query(user_id=user_id, ancestor=ancestor_key).get()

似乎给出了相同的结果,它们是由 user_id 的值过滤的条目。谢谢。

【问题讨论】:

    标签: google-app-engine app-engine-ndb


    【解决方案1】:

    你会发现这个简单的案例没有什么不同。第二个只是第一个样式的快捷方式,使用关键字 args 来查找属性名称。

    但是你不能在你想要不等式过滤器

    当您使用表达式时,您会创建一个 FilterNode 或 PropertyOrder 实例。例如

    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)
    

    哪些是你不能仅用关键字参数表达的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-13
      • 2013-06-16
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多