Python 将类似SQL的函数与GAE';s数据存储

Python 将类似SQL的函数与GAE';s数据存储,python,google-app-engine,google-cloud-datastore,gql,Python,Google App Engine,Google Cloud Datastore,Gql,我在一个模型中有一个属性(isFull),其值取决于同一模型中的其他属性(counter) 到目前为止,只要它所依赖的任何属性发生更改,我都会自己设置属性的值。我编写了一个函数isFull(),它检查计数器并返回True或False。但我不能将其用于查询,除非我获取所有内容,然后对结果进行迭代,检查其中是否有已满,我知道这很糟糕 有没有办法将我的函数与过滤器或gql一起使用?还是有不同的方法?我知道我可以使用一个过滤器来检查计数器,但在某些情况下,它比我需要同时检查日期、计数器和另一个标志更复杂

我在一个模型中有一个属性(
isFull
),其值取决于同一模型中的其他属性(
counter

到目前为止,只要它所依赖的任何属性发生更改,我都会自己设置属性的值。我编写了一个函数
isFull()
,它检查
计数器
并返回
True
False
。但我不能将其用于查询,除非我获取所有内容,然后对结果进行迭代,检查其中是否有
已满
,我知道这很糟糕


有没有办法将我的函数与
过滤器
gql
一起使用?还是有不同的方法?我知道我可以使用一个过滤器来检查计数器,但在某些情况下,它比我需要同时检查日期、计数器和另一个标志更复杂

我不知道如何在另一个属性发生更改时自动重新计算该属性。虽然可以通过创建自定义属性来隐藏某些更新,但在更新它所依赖的属性时,仍然必须手动更新它

相反,您可能希望通过将过滤链接起来,使isFull属性的需求变得过时,类似于

query.filter('counter >', 42)
query.filter('created <', datetime(2011,12,21))
query.filter('created >', datetime(2011,12,19))
query.filter('myflag =', true)
query.filter('counter>',42)
query.filter('created',datetime(2011,12,19))
query.filter('myflag=',true)

我不知道如何在另一个属性发生更改时自动重新计算该属性。虽然可以通过创建自定义属性来隐藏某些更新,但在更新它所依赖的属性时,仍然必须手动更新它

相反,您可能希望通过将过滤链接起来,使isFull属性的需求变得过时,类似于

query.filter('counter >', 42)
query.filter('created <', datetime(2011,12,21))
query.filter('created >', datetime(2011,12,19))
query.filter('myflag =', true)
query.filter('counter>',42)
query.filter('created',datetime(2011,12,19))
query.filter('myflag=',true)

使用a将计算值存储为数据存储中的一个属性,您可以对其进行筛选。

使用a将计算值存储为数据存储中的一个属性,您可以对其进行筛选。

我考虑将查询保存在模型类中,并在该级别上执行各种脏查询,有更好的方法吗?我想在模型类中保存查询,并在该级别上执行各种脏查询,有更好的方法吗?非常好。为什么没有记录下来?太好了。为什么没有记录?