disable counter for guide elements
This commit is contained in:
parent
223f5217a2
commit
87686abbb7
|
|
@ -174,7 +174,27 @@ class GuideQuerySet(models.QuerySet):
|
|||
|
||||
def with_extended_related(self):
|
||||
"""Return QuerySet with extended related."""
|
||||
return self.with_base_related().prefetch_related('guideelement_set')
|
||||
return (
|
||||
self.with_base_related()
|
||||
.prefetch_related(
|
||||
models.Prefetch(
|
||||
'guideelement_set',
|
||||
queryset=GuideElement.objects.select_related(
|
||||
'guide_element_type',
|
||||
'establishment',
|
||||
'review',
|
||||
'wine_region',
|
||||
'product',
|
||||
'city',
|
||||
'wine_color_section',
|
||||
'section',
|
||||
'guide',
|
||||
'parent',
|
||||
'label_photo',
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
def by_country_id(self, country_id):
|
||||
"""Return QuerySet filtered by country id."""
|
||||
|
|
@ -256,10 +276,7 @@ class GuideQuerySet(models.QuerySet):
|
|||
def annotate_present_objects_counter(self):
|
||||
"""Return QuerySet with annotated field - present_objects_counter."""
|
||||
return (
|
||||
self.annotate_restaurant_counter()
|
||||
.annotate_shop_counter()
|
||||
.annotate_wine_counter()
|
||||
.annotate(
|
||||
self.annotate(
|
||||
present_objects_counter=(
|
||||
models.F('restaurant_counter') +
|
||||
models.F('shop_counter') +
|
||||
|
|
|
|||
|
|
@ -107,10 +107,10 @@ class GuideBaseSerializer(serializers.ModelSerializer):
|
|||
guide_filters = GuideFilterBaseSerializer(read_only=True,
|
||||
source='guidefilter')
|
||||
# counters
|
||||
restaurant_counter = serializers.IntegerField(read_only=True)
|
||||
shop_counter = serializers.IntegerField(read_only=True)
|
||||
wine_counter = serializers.IntegerField(read_only=True)
|
||||
present_objects_counter = serializers.IntegerField(read_only=True)
|
||||
# restaurant_counter = serializers.IntegerField(read_only=True)
|
||||
# shop_counter = serializers.IntegerField(read_only=True)
|
||||
# wine_counter = serializers.IntegerField(read_only=True)
|
||||
# present_objects_counter = serializers.IntegerField(read_only=True)
|
||||
count_objects_during_init = serializers.IntegerField(read_only=True,
|
||||
source='count_related_objects')
|
||||
|
||||
|
|
@ -130,10 +130,10 @@ class GuideBaseSerializer(serializers.ModelSerializer):
|
|||
'state',
|
||||
'state_display',
|
||||
'guide_filters',
|
||||
'restaurant_counter',
|
||||
'shop_counter',
|
||||
'wine_counter',
|
||||
'present_objects_counter',
|
||||
# 'restaurant_counter',
|
||||
# 'shop_counter',
|
||||
# 'wine_counter',
|
||||
# 'present_objects_counter',
|
||||
'count_objects_during_init',
|
||||
]
|
||||
extra_kwargs = {
|
||||
|
|
|
|||
|
|
@ -29,8 +29,11 @@ class GuideBaseView(generics.GenericAPIView):
|
|||
permission_classes = get_permission_classes()
|
||||
|
||||
def get_queryset(self):
|
||||
"""Overridden get_queryset method."""
|
||||
return models.Guide.objects.with_extended_related().annotate_counters()
|
||||
"""An overridden get_queryset method."""
|
||||
return (
|
||||
models.Guide.objects.with_extended_related()
|
||||
# .annotate_counters()
|
||||
)
|
||||
|
||||
|
||||
class GuideFilterBaseView(generics.GenericAPIView):
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user