TastyPie-过滤相关资源

时间:2019-01-22 18:50:51

标签: django tastypie

比方说,我有两个DeliciousPie资源:

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

未将此用户分配给此许可证,因此他们不应执行此查询。

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

谢谢

1 个答案:

答案 0 :(得分: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 }
        ...