代码之家  ›  专栏  ›  技术社区  ›  Jader Dias

是否可以通过对象的字典更新Google App Engine数据存储中的条目?

  •  0
  • Jader Dias  · 技术社区  · 16 年前

    class SourceUpdate(webapp.RequestHandler):
      def post(self):
        id = int(self.request.get('id'))
        source = Source.get_by_id(id)
        for property in self.request.arguments():
          if property != 'id':
            source.__dict__[property] = self.request.get(property)
        source.put()
        self.redirect('/source')
    

    顺便提一下

    class Source(db.Model):
      #some string properties
    
    2 回复  |  直到 15 年前
        1
  •  2
  •   Alex Martelli    16 年前

    __setattr__ -类似于模型元类的功能( type(type(source)) )通常用于正确处理属性设置。将您的内环更改为:

    for property in self.request.arguments():
      if property != 'id':
        setattr(source, property, self.request.get(property))
    

    request.get ).

        2
  •  2
  •   Nick Johnson    16 年前