Следующая моя модель:ассоциированными временные значения с Appengine модели querysets
У меня есть две таблицы match
и team
:
class Match(DictModel):
date_time = db.DateTimeProperty()
team1 = db.StringProperty()
team2 = db.StringProperty()
venue = db.StringProperty()
result = db.IntegerProperty()
class Team(DictModel):
tslug = db.StringProperty()
name = db.StringProperty()
matches_played = db.IntegerProperty()
matches_won = db.IntegerProperty()
rating = db.FloatProperty()
во время выполнения, когда запрос на запись производится на одной из функций обработчика , я хочу, чтобы динамически связать рейтинг команды с QuerySet из Match
и отправить значение, это то, как я пытаюсь сделать:
matches = Match.all()
matches.filter('date_time <=', end)
matches.filter('date_time >=', start)
match_dict = functs.create_dict(matches)
self.response.out.write(match_dict)
и у меня есть пользовательские функции, чтобы получить выборки рейтинга от текущей команды, это выглядит следующим образом:
def to_dict(self):
return dict([(p, unicode(getattr(self, p))) for p in self.properties()])
def create_dict(matches):
lst = []
for m in matches:
t1 = m.team1
t2 = m.team2
te1 = Team.all().filter("name =", t1).get()
te2 = Team.all().filter("name =", t2).get()
m.setattr('rating1', te1.rating)
m.setattr('rating2', te2.rating)
lst.append(m)
data_dict = json.dumps([l.to_dict() for l in lst])
return data_dict
Проблема: я получаю ошибку в setattr
вместо setattr
я также попытался m.rating1 = te1
и m.rating2 = te2
, но даже что, похоже, не работает. Все остальное работает безупречно.
Пожалуйста, помогите!
«Я получаю ошибку» крайне бесполезно. Когда вы «получите ошибку», пожалуйста, включите трассировку в свой вопрос. –
спасибо, сделаю со следующего раза. – user993563