如何在 Google App Engine NDB 模型中使用选项

How to use choices in Google App Engine NDB Model

我想在 Python 中创建 Google App Engine 的 ndb.Model 模型。其中一个字段是一个选择,将有 4 个选项(0 到 3),每个选项都有一个字符串表示它。我如何在模型中定义这个字段?我希望字符串显示在表单中,但数字要保存到数据库中(我不想将选项名称保存到数据库中)。我如何使用选项?是否可以使用字典或元组列表?我还想为数字 0 到 3 定义常量。如何在 Google App Engine 中实现它?我们正在使用 Django 模板,我想做一些类似于我们在 Django 中所做的事情。

顺便问一下,可以将 Google App Engine NDB 与 Django 一起使用吗?这是一个新的应用程序,如果可能的话我们可以使用 Django。

只需将字符串与键保持一致即可。这样的事情会起作用:

choices = {0: 'Foo', 1: 'Bar', ...}

class Model(ndb.Model):
  choice = ndb.IntegerProperty(choices=choices.keys())

# you can easily generate such form using wtforms..
class ModelForm(wtforms.Form):
  choice = wtforms.fields.SelectField(
    choices=[(k, v) for k, v in choices.iteritems()])