Django tastypie 相关查询集

Django tastypie relative queryset

这是模型:

class Project(models.Model):
    creator = models.ForeignKey(User)
    name = models.CharField(max_length=64)

    def __unicode__ (self):
        return self.name

现在我想通过REST/tastypie获取用户项目。 我通过这样的教程制作了资源 class:

class ProjectResource(ModelResource):
    class Meta:
        queryset = Project.objects.all()
        resource_name = 'project'

但是此代码 returning all 每个用户的数据。

我知道如何添加身份验证,但我不明白如何根据登录的用户 ID return 不是所有项目,而是此数据的某些子集。

您可以覆盖 get_object_list

class ProjectResource(ModelResource):
    class Meta:
        queryset = Project.objects.all()
        resource_name = 'project'

    def get_object_list(self, request):
        qs = super().get_object_list(request)
        return qs.filter(creator=request.user)

    def authorized_read_list(self, object_list, bundle):
        return object_list.filter(creator=bundle.request.user.id)