def get_queryset(self): qs = Category.objects.filter(type=amo.ADDON_WEBAPP, weight__gte=0) if self.action == "list": qs = qs.filter(Q(region__isnull=True) | Q(region=get_region_id())) # Check carrier. carrier = get_carrier_id() carrier_f = Q(carrier__isnull=True) if carrier: carrier_f |= Q(carrier=carrier) qs = qs.filter(carrier_f) return qs.order_by("-carrier", "-region", "-weight")
def get_queryset(self): qs = Category.objects.filter(type=amo.ADDON_WEBAPP, weight__gte=0) if self.action == 'list': qs = qs.filter(Q(region__isnull=True) | Q(region=get_region_id())) # Check carrier. carrier = get_carrier_id() carrier_f = Q(carrier__isnull=True) if carrier: carrier_f |= Q(carrier=carrier) qs = qs.filter(carrier_f) return qs.order_by('-carrier', '-region', '-weight')
def obj_get_list(self, request=None, **kwargs): objs = super(CategoryResource, self).obj_get_list(request, **kwargs) # Filter by region or worldwide. objs = objs.filter(Q(region__isnull=True) | Q(region=get_region_id())) # Check carrier. carrier = get_carrier_id() carrier_f = Q(carrier__isnull=True) if carrier: carrier_f |= Q(carrier=carrier) objs = objs.filter(carrier_f) return objs
def obj_get_list(self, request=None, **kwargs): objs = super(CategoryResource, self).obj_get_list(request, **kwargs) # Filter by region or worldwide. objs = objs.filter(Q(region__isnull=True) | Q(region=get_region_id())) # Check carrier. carrier = get_carrier_id() carrier_f = Q(carrier__isnull=True) if carrier: carrier_f |= Q(carrier=carrier) objs = objs.filter(carrier_f) return objs
def featured_ids(self, cat=None, region=None, profile=None): carrier = get_carrier_id() cache_key = 'featured:%s:%s:%s:%s' % ( region.id if region else 0, ','.join(cat) if cat else 0, profile.to_signature() if profile else 0, carrier if carrier else 0) val = cache.get(cache_key) if val is not None: return val val = list( self.featured(cat=cat, region=region, profile=profile).values_list('app_id', flat=True)) cache.set(cache_key, val, settings.CACHE_SEARCH_FEATURED_API_TIMEOUT) return val
def featured_ids(self, cat=None, region=None, profile=None): carrier = get_carrier_id() cache_key = 'featured:%s:%s:%s:%s' % ( region.id if region else 0, ','.join(cat) if cat else 0, profile.to_signature() if profile else 0, carrier if carrier else 0) val = cache.get(cache_key) if val is not None: return val val = list(self.featured( cat=cat, region=region, profile=profile).values_list('app_id', flat=True)) cache.set(cache_key, val, settings.CACHE_SEARCH_FEATURED_API_TIMEOUT) return val