0

Я хочу создать модель ndb.Model Google App Engine в Python. Одним из полей является выбор, будет 4 варианта (от 0 до 3), и каждый параметр будет содержать строку, представляющую его. Как определить это поле в модели? Я хочу, чтобы строки отображались в форме, но номер, который нужно сохранить в базе данных (я не хочу сохранять имена опций в базе данных). Как использовать выбор? Можно ли использовать словарь или список кортежей? Я также хочу определить константы для чисел от 0 до 3. Как это реализовать в Google App Engine? Мы используем шаблоны Django, и я хочу сделать что-то похожее на то, что мы делаем в Django.Как использовать выбор в Google App Engine NDB Model

Кстати, можно ли использовать Google App Engine NDB с Django? Это новое приложение, и мы можем использовать Django, если это возможно.

ответ

3

Просто держите свои строки в постоянном порядке с ключами. Что-то вроде этого будет работать:

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()])