AppEngine NDB属性验证

0 投票
1 回答
749 浏览
提问于 2025-04-17 17:51

我想知道,验证NDB实体属性的最佳方法是什么,比如:

  • 一个日期必须在未来
  • 一个等级(整数属性)必须在1到10之间
  • 对另一个实体的引用必须有特定的属性值(例如,书籍的类别必须是激活状态)

我也在使用WTForms来验证提交的请求,但我想在更底层,比如数据存储实体本身,也进行验证。

所以,基本上我想要的是对数据存储实体进行验证,看看它是否有效。如果有效,我就可以把这个实体存入数据存储;但如果无效,我想要找出哪些属性不合法,以及哪些验证器没有成功验证。

另一个原因是,WTForms可能不够用,因为我正在使用新的Cloud Endpoints。在这个模型中,我接收到的是实际的实体,而不是一个HTTP请求。

其他AppEngine用户是怎么解决这个问题的呢?

1 个回答

0

这并不是说这是最好的解决办法,但你可以自己动手做。你可以提前定义一些属性,比如用正则表达式来设定最小值和最大值等等。看起来你的属性比较简单,所以应该不会太难。

撰写回答