【问题标题】:Tastypie filter by minimum valueTastypie 按最小值筛选
【发布时间】:2012-08-25 08:31:21
【问题描述】:

我有一个代表横幅的 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 进行过滤,但我正在寻找一种更快的方法来完成它。 有什么想法吗?

谢谢

【问题讨论】:

    标签: backbone.js tastypie


    【解决方案1】:

    如果您想检索展示次数大于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
    

    你应该得到你需要的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-21
      • 1970-01-01
      • 2019-06-13
      • 1970-01-01
      • 2020-08-06
      • 2010-09-28
      相关资源
      最近更新 更多