Tastypie:根据注释对象过滤Django注释

时间:2012-06-13 22:08:42

标签: django tastypie

我使用来自contrib的django注释,我有一个对象(条目),它有一些与之关联的注释。在我的tastypie资源中,我有:

class CommentResource(ModelResource):
    user = fields.ForeignKey(UserResource, 'user')

class Meta:
    queryset = Comment.objects.all()
    resource_name = 'comments'
    allowed_methods = ['get']
    fields = ['comment', 'resource_uri', 'submit_date', 'user',]
    filtering = {
        'user': ALL_WITH_RELATIONS,
    }

我可以收到所有评论,或者按用户过滤。它工作正常。 现在我不确定,我将如何进行相同类型的过滤,但是基于某个输入对象而不是用户?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

在不知道entrycomment之间的关系的情况下,很难给出具体的答案,但是在坚果壳中,鉴于条目和评论是通过多种关系联系起来的:

  • 创建EntryResource
  • fields.ToManyField添加到CommentResource的EntryResource
  • 将`fields.ToOneField'添加到EntryResource的CommentResource
  • 'comments' : ALL_WITH_RELATIONS添加到EntryResource
  • 中的过滤字典中

此外,您可以向Comment添加嵌套资源或自定义URL,以根据条目过滤它们,但这一切都取决于您的设计。

Tastypie docs here中给出了上述几乎逐字的例子。