是否存在用于声明模型的计算键的模式?

问题描述

我希望将特定的ndb.Model键的字符串ID自动设置为两个模型属性的串联。这两个属性是一次写入的,尽管其他属性可能会更改。这种方法有助于确保实体对于这两个属性是唯一的。

这是该班级的样子:

class Foo(ndb.Model):
  bar: ndb.StringProperty()
  baz: ndb.StringProperty()

可以这样构造一个实体:

foo = Foo(id='bar-baz',bar='bar',baz='baz')
foo.put()

是否有一种模式可以自动在模型类中设置该id,类似于ComputedProperty?

解决方法

您可以使用_pre_put_hook函数将密钥名称设置为认沽期权的一部分。这也是验证bar&baz不会在更新过程中更改的地方。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...