【问题标题】:How can I find entities which have an empty StringListProperty?如何找到具有空 StringListProperty 的实体?
【发布时间】:2013-03-13 18:04:45
【问题描述】:

鉴于此模型:

class TestModel(db.Model):
  names = db.StringListProperty(required=False)

我想找到名称属性为空的实体,所以我尝试了这个:

TestModel.all().filter('names ==', [])

但它引发了异常:BadValueError: Filtering on lists is not supported

来自this very similar question,我也试过了:

TestModel.all().filter('names <', None)
TestModel.all().filter('names ==', None)

但这些也不起作用。

【问题讨论】:

    标签: google-app-engine google-cloud-datastore gql


    【解决方案1】:

    过滤列表过滤列表中的每个项目。因此,如果您 filter('names ==', 'x'),它将在名称列表中找到任何包含 'x' 的实体。

    很遗憾,您无法通过这种方式找到空列表。最好的办法是添加另一个属性来测试模型,可以是列表大小的整数,也可以是布尔值 isEmpty,然后进行查询。

    【讨论】:

      猜你喜欢
      • 2011-08-15
      • 1970-01-01
      • 2011-02-22
      • 1970-01-01
      • 2019-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多