TastyPie - 过滤相关资源

问题描述 投票:0回答:1

假设我有两个TastyPie资源:

class LicenseResource(ModelResource):
    ...

class UserResource(ModelResource):

    license = fields.ForeignKey(LicenseResource, 'license', full=False, null=True, blank=True)
    filtering = { "license": ALL_WITH_RELATIONS }
    ...

假设每个用户都被分配到一个许可证。假设用户(分配给id = 1的许可证)发出以下请求以检索许可证#2上的所有用户:

/accounts/api/v1/user/?license__id=2

此用户未分配给此许可证,因此他们无法执行此查询。

如何应用过滤来限制用户仅过滤分配给他们的许可证?我一直在阅读文档,但我很难理解如何处理这个问题。

谢谢

django tastypie
1个回答
0
投票

试试吧:

class LicenseResource(ModelResource):

    class Meta:
        filtering = {'id': ALL}
        ...

class UserResource(ModelResource):

    license = fields.ForeignKey(LicenseResource, 'license', full=False, null=True, blank=True)

    class Meta:
        filtering = { "license": ALL_WITH_RELATIONS }
        ...
© www.soinside.com 2019 - 2024. All rights reserved.