最初に:を作成しTagResource
ます
from taggit.models import Tag
class TagResource(ModelResource):
class Meta:
queryset = Tag.objects.all()
次に、タグを取得したリソースで:
class FooResource(ModelResource):
tags = fields.ToManyField(TagResource, 'tags', # if your tag field is 'tags'
full = True)
class Meta:
queryset = Foo.objects.all()
動作するはずです。
アップデート
タグをフィルタリングするには、 TagResource
API名が、であると仮定して、タグをフィルタリングする必要があります。URLv1
は次のとおりです。
/api/v1/tag/?slug=anytagyouwant&format=json
上記のURLは次のようなものです:'anytagyouwant
存在しますか?'
anytagyouwant
'タグを持つすべてのfooを取得する'
/api/v1/foo/?tags__slug=anytagyouwant&format=json
特定のフィールドをフィルタリングできるようにするにはFooResource
、例として使用して、リソースでそのフィールドを宣言する必要があることに注意してください。
from tastypie.resources import ModelResource, ALL, ALL_WITH_RELATIONS
class FooResource(ModelResource):
tags = fields.ToManyField(TagResource, 'tags', # if your tag field is 'tags'
full = True)
class Meta:
queryset = Foo.objects.all()
filtering = dict(
tags = ALL,
# or
tags = ALL_WITH_RELATIONS,
)