小编bas*_*ian的帖子

为什么需要和默认在ndb中是独占的?

在旧的google appengine数据存储API中,"required"和"default"可以一起用于属性定义.使用ndb我得到了一个

ValueError: repeated, required and default are mutally exclusive.
Run Code Online (Sandbox Code Playgroud)

示例代码:

from google.appengine.ext import ndb
from google.appengine.ext import db

class NdbCounter(ndb.Model):
    # raises ValueError
    count = ndb.IntegerProperty(required=True, default=1)

class DbCounter(db.Model):
    # Doesn't raise ValueError
    count = db.IntegerProperty(required=True, default=1)
Run Code Online (Sandbox Code Playgroud)

我想实例化一个Counter而不必指定一个值.我还想避免有人将该值覆盖为None.构造上面的例子.我可能没有必需的属性,而是添加increment()方法.我仍然没有看到为什么必需和默认是互斥的原因.

这是一个错误还是一个功能?

python google-app-engine app-engine-ndb google-cloud-datastore

9
推荐指数
1
解决办法
1493
查看次数