GAE db.Model получает свойство вместо строкового значения - PullRequest
0 голосов
/ 09 марта 2010

У меня есть db.Model со строковым свойством, email_type. Теперь у меня есть значения для типа, определенного в классе только для чтения. Когда я сохраняю это в хранилище данных, я получаю строку вместо «Register», она также вызывает ошибку BadValueError. Как заставить его сохранить как строку, а не как свойство.

Вот (уменьшенный) код:

class EmailTypes(object):

    def __init__(self):
        self.__reg = "Register"
        self.__news = "NewsLetter"

    @property
    def Register(self):
        return self.__reg

    @property
    def NewsLetter(self):
        return self.__news

class Email(db.Model):
    to = db.StringProperty()
    email_type = db.StringProperty()


class Example(object)

    def do_stuff(self):
        e = Email()
        e.to = 'phil@somedomain.com'
        # This should be saving as 'Register' not a ref to the objects address
        e.email_type = EmailTypes().Register

do = Example()
do.do_stuff()

1 Ответ

3 голосов
/ 09 марта 2010

Что произойдет, если вы измените свой класс EmailTypes так:

class EmailTypes(object):
    Register = 'Register'
    NewsLetter = 'NewsLetter'

и используйте его как:

e.email_type = EmailTypes.Register

Это делает ваш упрощенный пример работоспособным?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...