从 PonyORM 中的一对多关系访问值

Accessing values from one-to-many relationship in PonyORM

对于游戏数据库,其中一个游戏被不同的用户称为不同的名称,我有两个表,设置为一对多:

class Game(db.Entity):
    name = Set('Name')
    ...

class Name(db.Entity):
    game = Required(Game)
    name = Required(str)
    ...

如何访问特定游戏的名称?它们返回为 "Multiset",(我认为)这是一个特殊的 Counter 对象,当我这样做时:

games = Game.select()
for g in games:
    names = g.name.name
    print(names)

>>> Multiset({'Sticks And Stones': 1, 'May Break Your Bones': 1 }) 

这在我看来也很丑陋,我想一定有更好的方法吧?

事实证明,to_dict() 方法在 PonyORM 的 API Reference 中有详细记录,对 to-many 关系有很大帮助。

 for g in games:
      this_game = g.to_dict(
          with_collections=True,
          related_objects=True,
          exclude=['game_meta', 'statistics']
      )

然后像这样访问 dict() 条目:this_game['name']