0

我有一个代表横幅的 Django-tastypie 资源,并且有一个名为印象的字段,每当横幅出现在网站上时,我都会增加该字段。

class BannerResource(ModelResource):

    owner = fields.ForeignKey('advertisment.api.AdvertiserResource', 'owner', full=True)
    class Meta:
        queryset = Banner.objects.all()
        resource_name = 'banner'
        authorization = Authorization()

我想获得印象最少的横幅,在官方文档中没有类似的东西

filtering = {'impressions': ('min',)}

我在前端使用 BackboneJS,我可以使用 Backbone 集合获取所有横幅并使用 JavaScript 进行过滤,但我正在寻找一种更快的方法来做到这一点。有任何想法吗?

谢谢

4

1 回答 1

0

如果您想检索展示次数多于X您需要的横幅。一方面,您需要像这样在资源上定义可能的过滤操作(假设您的模型具有impressions字段):

class BannerResource(ModelResource):

    owner = fields.ForeignKey('advertisment.api.AdvertiserResource', 'owner', full=True)

    class Meta:
        queryset = Banner.objects.all()
        resource_name = 'banner'
        authorization = Authorization()

        filtering = { 'impressions' : ALL }

有关可用选项,请查看Tastypie 的有关过滤的文档

然后,如果您提出以下请求:

GET http://<your_host>/v1/banners?impressions__gte=X

你应该得到你需要的。

于 2012-08-27T17:08:52.063 回答