我有一个代表横幅的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进行过滤,但我正在寻找一种更快捷的方法。 有什么想法吗?
由于
答案 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
你应该得到你需要的东西。