gpt4 book ai didi

python - 如何使用大量 bool 属性创建高效的 Google-App-Engine 架构

转载 作者:太空宇宙 更新时间:2023-11-04 11:02:02 25 4
gpt4 key购买 nike

我正在构建一个 GAE 应用程序,其中的对象具有很多 bool 属性。我希望能够搜索那些进行查询的属性,例如(在 psuedo-sql 中)“获取 X1=True、X2=False、X3=False 的项目,并让 X4 到 X7 为真或假”。

我有一个类似于下图所示的模型:

class JobModel(BaseModel):
job_name = db.StringProperty();
part_time = db.BooleanProperty();
has_401k = db.BooleanProperty();
has_health_in = db.BooleanProperty();
has_childcare = db.BooleanProperty();
has_edu_reim = db.BooleanProperty();

问题是 GAE 需要一个索引来搜索这些 bool 值的所有可能方式。所以如果你有 5 个 bool 属性,你将需要 32 个不同的索引。如果您有 20 个 bool 属性(在我的实际情况下),您需要超过一百万个索引!

一定有更好的方法来设置这个数据存储架构,对吧?

最佳答案

这可能是 StringListProperty 的好机会。

集合成员资格是 ListProperty 的强项。

您需要提供一种方法来更新和编码列表,但它可以有效满足您的需求。

db.StringListProperty

has = ['401k:T', 'health_in:F', 'has_childcare:T']

GQL Where 子句

"WHERE has = '401k:T' and has = 'health_in:F'"

ListProperties 需要一些努力才能了解它们的优势和应用。

GAE datastore list property serialization

关于python - 如何使用大量 bool 属性创建高效的 Google-App-Engine 架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4534376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com