put () не "помещает" мои изменения! - PullRequest
0 голосов
/ 17 июля 2011

Я работаю с движком приложения и написал форму для редактирования моих сохраненных объектов, скажем, это модель Foo.

У меня есть этот код, который все выполняется и не выдает никаких исключений, но элементы в хранилище данных остаются неизменными:

class EditFooItemHandler(BaseHandler):
    page = "edit_fooitem"
    def post(self, foo_id=None):#POST
        if not foo_id is None:
            foo_id = int(foo_id)
            new_barid = int(self.request.POST['barid'])
            item = FooItem.get_by_id(int(foo_id))
            item.barid = new_barid
            logging.info( 'Saving FooItem with id=' + str(foo_id) + 'and barid=' + str(new_barid))
            item.put()

        self.prepare()
        self.values['item'] = item
        self.finish()

    def get(self, foo_id):#GET
        self.prepare()
        logging.info( 'getreq')
        logging.info( foo_id)
        item = FooItem.get_by_id(int(foo_id))
        self.values['item'] = item
        self.finish()

Есть идеи, почему item.put() не меняет мое хранилище данных? Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 17 июля 2011
barid 

определяется не как свойство, а как метод в модели.Чтобы заставить вышеуказанный код работать, я могу получить Bar.get_by_id(barid), а затем выполнить

new_bar = Bar.get_by_id(barid)
foo.bar = new_bar
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...