0

ジャンゴのおいしいパイを使おうとしていますが、いくつか問題があります。ここに私のapi.pyがあります:

from tastypie.resources import ModelResource
from tastypie import fields
from app.models import First, Second, Third

class FirstResource(ModelResource):
    second = fields.ToManyField('app.api.SecondResource', 'second_set', related_name='first', null=True, blank=True, full=True)

    class Meta:
        queryset = First.objects.all()
        resource_name = 'first'

class SecondResource(ModeResource):
    first = fields.ForeignKey(FirstResource, 'first', full=True)
    third = fields.ToManyField('app.api.ThirdResource', 'third_set', related_name='second', null=True, blank=True, full=True)

    class Meta:
        queryset = Second.objects.all()
        resource_name = 'second'

class ThirdResource(ModelResource):
    poll = fields.ForeignKey(SecondResource, 'second', full=True)

    class Meta:
        queryset = Third.objects.all()
        resource_name = 'third'

SecondResource を取得しようとすると、FirstResource がhttp://127.0.0.1:8000/app/api/v1/second/含まれていますが、ThirdResource も関連付けたいと思います。今のところ、空の配列しか得られません。これどうやってするの?

4

1 に答える 1

0

3番目のモデルに関連する名前を追加してみてください:

class Third(models.Model):
    second = models.ForeginKey(Second, related_name=thirds)

そして、リソースで:

   class SecondResource(ModeResource):`
       first = fields.ForeignKey(FirstResource, 'first', full=True)
       third = fields.ToManyField('app.api.ThirdResource', 'thirds', null=True, blank=True, full=True)
于 2013-02-23T20:47:52.597 に答える