Tastypie过滤器的最小值

时间:2012-08-25 08:31:21

标签: backbone.js tastypie

我有一个代表横幅的Django-tastypie资源,并且有一个名为impression的字段,只要横幅出现在网站上,我就会增加。

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进行过滤,但我正在寻找一种更快捷的方法。 有什么想法吗?

由于

1 个答案:

答案 0 :(得分: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's documentation on filtering

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

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

你应该得到你需要的东西。