Google app engine 在Google App Engine数据存储中使用受约束列表的模型
在Google应用程序引擎上,我有一个webapp2模型,如下所示:Google app engine 在Google App Engine数据存储中使用受约束列表的模型,google-app-engine,nosql,Google App Engine,Nosql,在Google应用程序引擎上,我有一个webapp2模型,如下所示: def Person(db.model): first_name = db.StringProperty() surname = db.StringProperty() languages_spoken = db. ListProperty() 但是,我希望将语言列表限制为一个选项列表,比如英语、法语和西班牙语,这些选项可以随着时间的推移而改变。使用SQL,在person、language和perso
def Person(db.model):
first_name = db.StringProperty()
surname = db.StringProperty()
languages_spoken = db. ListProperty()
但是,我希望将语言列表限制为一个选项列表,比如英语、法语和西班牙语,这些选项可以随着时间的推移而改变。使用SQL,在person、language和person_语言表或类似的表中,这将很容易,但我不知道在这种情况下如何做,甚至不知道是否可能。有任何建议吗?如果您正在启动appengine项目,请使用新的NDB而不是数据存储。您可以将属性与参数一起使用,例如:选项和验证器:如果要启动appengine项目,请使用新的NDB而不是数据存储。您可以将属性与参数一起使用,例如:选项和验证器:通过使用NDB,您可以拥有以下内容:
def Person(ndb.model):
first_name = db.StringProperty()
surname = db.StringProperty()
languages_spoken = db. ListProperty(choices=['English', 'French', 'Spanish'])
有关它的更多信息,请查看
但是,请注意,这些选项不能动态更改。当应用程序支持新选项时,需要手动将其添加到模型中 通过使用NDB,您可以实现以下功能:
def Person(ndb.model):
first_name = db.StringProperty()
surname = db.StringProperty()
languages_spoken = db. ListProperty(choices=['English', 'French', 'Spanish'])
有关它的更多信息,请查看
但是,请注意,这些选项不能动态更改。当应用程序支持新选项时,需要手动将其添加到模型中 最后,多亏了另外两个答案的提示,我还是这样做了:
from google.appengine.ext import ndb
languages = ['English', 'French', 'Spanish']
def Person(ndb.model):
first_name = ndb.StringProperty()
surname = ndb.StringProperty()
languages_spoken = ndb.StringProperty(repeated=True, choices=languages)
最后,多亏了另外两个答案中的提示,我坚持了这一点:
from google.appengine.ext import ndb
languages = ['English', 'French', 'Spanish']
def Person(ndb.model):
first_name = ndb.StringProperty()
surname = ndb.StringProperty()
languages_spoken = ndb.StringProperty(repeated=True, choices=languages)