python-3.x - 是否有为模型声明计算键的模式?
问题描述
我希望将特定的 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
函数将键名设置为 put 的一部分。这也是验证 bar & baz 不会作为更新的一部分而更改的地方。
推荐阅读
- sql-server - 在规范化数据时获取 DISTINCT 公司信息
- javascript - 单击事件侦听器发生在加载而不是单击时
- php - 如何使用 php 和 volley android 进行间接文件下载
- apache - 如何在 WOFF2 的 HTTP 标头中指定页面使用的字符集?
- python - ImportError:无法从“__main__”导入名称“设置”
- c - Visual Studio LNK1107:无效或损坏的文件 - 来自 Flat Assembler 的 .obj (COFF)
- php - GROUP BY MYSQLi 中的条件
- javascript - Clients.openWindow() 等效于同一选项卡
- python - 使用 python 在 Post 请求中发送令牌
- python - ImportError:无法导入名称“keras”