5
我有3個型號。遊戲,玩家和一塊。玩家連接到遊戲並且連接到玩家。這些關係是簡單的外鍵。如何在django-tastypie中包含不直接的反向關係(通過其他資源)?
當檢索遊戲時,我也希望檢索所有玩家的所有棋子,並將它們包含在結果中。
class GameResource(ModelResource):
class Meta:
queryset = Game.objects.all()
resource_name = 'game'
allowed_methods = ['get']
class PlayerResource(ModelResource):
game = fields.ForeignKey(GameResource, 'game')
class Meta:
queryset = Player.objects.all()
resource_name = 'player'
allowed_methods = ['get']
class PieceResource(ModelResource):
player = fields.ForeignKey(PlayerResource, 'player')
class Meta:
queryset = Piece.objects.all()
resource_name = 'piece'
allowed_methods = ['get']
我不知道這是如何完成的。我最初改變了脫水,這樣它只是做正確的查詢,調用django序列化,並將其放入包中的新變量。這對我來說似乎是一個閃光點。查詢集的序列化也被tastypie再次序列化,導致它逃脫引號字符(urgh)。
廣東話回答爲沒有帶夠了聲譽。解決方案是簡單地在遊戲和玩家中添加tomany字段,並在兩者上設置full = true。 – 2011-12-15 20:28:13