如何在 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()])
我想在 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()])