2

私はこれを私のリソースとして持っています

class AResource(ModelResource):
    content_object = GenericForeignKeyField({
        B: BResource,
    }, 'content_object')

class Meta:
    queryset = A.objects.all()
    filtering = {
        'content_type': ????,
    }

このリソースをリソース BResource の ID でフィルター処理したいと考えています。
この URL でフィルタリングしようとしました:
http://domain.com/api/v1/a/?content_type=/api/v1/b/7/
およびhttp://domain.com/api/v1/a/? content_object=/api/v1/b/7/
でもうまくいきませんでした。

これをどのようにフィルタリングできますか?

4

1 に答える 1

1

これは古い質問であることは知っていますが、他の誰かがそれを見つけた場合に備えて、次のことを行うことでこの同じ問題を解決できました。

filtering = {
    'object_id': 'exact',
    'content_type': 'exact',
}

次に、リソース URL は次のようになります。

http://domain.com/api/v1/a/?content_type=app_name,model_name&object_id=object_id

OPの場合、BResourceがmyappにあり、モデル名がb_modelであると仮定します

http://domain.com/api/v1/a/?content_type=myapp,b_model&object_id=7
于 2014-03-17T22:56:25.033 に答える