誤解されている場合は申し訳ありませんが、データストアからエンティティのグループを取得して、それぞれfloat_value
のプロパティを合計したいようです。それが必要な場合は、問題のすべてのエンティティをプルするクエリを設定し(ここでは、すべてのエンティティをプルするために使用します)、返されたオブジェクトのリストを反復処理して、それらのプロパティSum_DB.all()
を合計する必要があります。 float_value
。例えば:
class Sum_DB(db.Model):
name_of_profile = db.StringProperty(required = True)
float_value= db.FloatProperty()
class MainHandler(webapp2.RequestHandler):
def get(self, *args, **kwargs):
r = Sum_DB(name_of_profile='test1', float_value=float(1.2359))
s = Sum_DB(name_of_profile='test2', float_value=float(2.2355))
t = Sum_DB(name_of_profile='test3', float_value=float(4.2185))
r.put()
s.put()
t.put()
# Using the Query class
query = Sum_DB.all()
# You can now iterate over that 'query', with each element
# representing an entity from your datastore. Each entity
# will have the properties you defined in Sum_DB, so you
# can access them by name.
sum_me_up = sum(result.float_value for result in query)
# Or using GQL - the concept/result is the same
query2 = db.GqlQuery('SELECT * from Sum_DB')
sum_me_up2 = sum(result.float_value for result in query2)
self.response.out.write('Query: {0} | GQL: {1}'.format(sum_me_up,
sum_me_up2))
app = webapp2.WSGIApplication([
('/', MainHandler),
],
debug=True)