私はこの問題に数日取り組んでいます。私のアイデアはこのモデルからのものです:
class oceni(db.Model):
user = db.UserProperty()
weight = db.FloatProperty()
item = db.StringProperty()
..次の形式で辞書を作成するには:
collection = dict()
collection = {
'user1':{'item1':weight1,'item2':weight2..},
'user2':{'item3':weight3,'item4':weight4..},
..}
..そして、私が到達した限りではこれです:
kontenier = db.GqlQuery('SELECT * FROM oceni')
kolekcija = dict()
tmp = dict()
lista = []
for it in kontenier:
lista.append(it.user)
set = []
for e in lista:
if e not in set:
set.append(e)
for i in set:
kontenier = db.GqlQuery('SELECT * FROM oceni WHERE user=:1',i)
for it in kontenier:
tmp[it.item]=it.weight
kolekcija[i]=tmp
..しかし、これにより、すべてのユーザーがアイテムとその重みを含む同じ辞書を持つ辞書が作成されます。私はこれが最もpythonicな方法ではないことを知っていますが、私はこれに慣れていないので、この問題についてもっと学びたいと思っています.