我有兩個ModelResource
s,Attack
和Packet
,由ManyToManyField相關。django-tastypie中嵌套的ToManyFields
這傾向於顯示與Packet.attacks
包含1-3攻擊和Attack.packets
包含數百個數據包。
我已經打算做的方式是這樣的:每個AttackResource
有Attack.packets
屬性,它是一種含Attack.packets
的查詢集,並在查詢集嵌套在AttackResource
的鏈接。
即:
/api/attack/1/ # contains attribute with URL of /api/attack/1/packets/
/api/attack/1/packets/ # contains all packets where attack with id=1 is in Packet.attacks
我怎麼能做到這一點?
我試過以下cyberdelia's gist有嵌套的資源,但去/api/attack/1/packets/
實際上不包含數據包,其中attack.id是在packet.attacks。
我ModelResource
類是相同的要點,然後我的其他資源:
class AttackResource(ModelResource):
packets = fields.ToManyField('honeywall.api.PacketResource', 'packets', 'attack')
class Meta:
queryset = Attack.objects.all()
resource_name = 'attack'
和
class PacketResource(ModelResource):
attacks = fields.ToManyField('honeywall.api.AttackResource', 'attacks', 'packet')
class Meta:
queryset = Packet.objects.all()
resource_name = 'packet'
filtering = {
'attacks': ALL_WITH_RELATIONS,
}
我一直在嘗試與食譜現在用的要點做到這一點。我很茫然。用更多信息更新問題。 – rouge8 2012-02-22 01:26:00