renge_menu and carte
This commit is contained in:
parent
3462c74a65
commit
b3345d612a
|
|
@ -16,7 +16,7 @@ class Command(BaseCommand):
|
||||||
if est:
|
if est:
|
||||||
|
|
||||||
menu, _ = Menu.objects.get_or_create(
|
menu, _ = Menu.objects.get_or_create(
|
||||||
category={"en-GB": "FORMULAS"},
|
category={'en-GB': 'formulas'},
|
||||||
establishment=est
|
establishment=est
|
||||||
)
|
)
|
||||||
plate, created = Plate.objects.get_or_create(
|
plate, created = Plate.objects.get_or_create(
|
||||||
|
|
|
||||||
|
|
@ -434,6 +434,27 @@ class Establishment(ProjectBaseMixin, URLImageMixin, TranslatedFieldsMixin):
|
||||||
def best_price_carte(self):
|
def best_price_carte(self):
|
||||||
return 200
|
return 200
|
||||||
|
|
||||||
|
@property
|
||||||
|
def range_price_menu(self):
|
||||||
|
plates = self.menu_set.filter(
|
||||||
|
models.Q(category={'en-GB': 'formulas'})
|
||||||
|
).aggregate(
|
||||||
|
max=models.Max('plate__price', output_field=models.FloatField()),
|
||||||
|
min=models.Min('plate__price', output_field=models.FloatField()))
|
||||||
|
return plates
|
||||||
|
|
||||||
|
@property
|
||||||
|
def range_price_carte(self):
|
||||||
|
plates = self.menu_set.filter(
|
||||||
|
models.Q(category={'en-GB': 'starter'}) |
|
||||||
|
models.Q(category={'en-GB': 'main_course'}) |
|
||||||
|
models.Q(category={'en-GB': 'dessert'})
|
||||||
|
).aggregate(
|
||||||
|
max=models.Max('plate__price', output_field=models.FloatField()),
|
||||||
|
min=models.Min('plate__price', output_field=models.FloatField()),
|
||||||
|
)
|
||||||
|
return plates
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def works_noon(self):
|
def works_noon(self):
|
||||||
""" Used for indexing working by day """
|
""" Used for indexing working by day """
|
||||||
|
|
|
||||||
|
|
@ -149,6 +149,7 @@ class EstablishmentSubTypeBaseSerializer(serializers.ModelSerializer):
|
||||||
'establishment_type': {'write_only': True}
|
'establishment_type': {'write_only': True}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class EstablishmentSubTypeGeoSerializer(EstablishmentSubTypeBaseSerializer):
|
class EstablishmentSubTypeGeoSerializer(EstablishmentSubTypeBaseSerializer):
|
||||||
"""Serializer for EstablishmentSuType model w/ index_name."""
|
"""Serializer for EstablishmentSuType model w/ index_name."""
|
||||||
|
|
||||||
|
|
@ -223,6 +224,11 @@ class EstablishmentGeoSerializer(EstablishmentBaseSerializer):
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
class RangePriceSerializer(serializers.Serializer):
|
||||||
|
max = serializers.DecimalField(max_digits=14, decimal_places=2, read_only=True, default=0)
|
||||||
|
min = serializers.DecimalField(max_digits=14, decimal_places=2, read_only=True, default=0)
|
||||||
|
|
||||||
|
|
||||||
class EstablishmentDetailSerializer(EstablishmentBaseSerializer):
|
class EstablishmentDetailSerializer(EstablishmentBaseSerializer):
|
||||||
"""Serializer for Establishment model."""
|
"""Serializer for Establishment model."""
|
||||||
|
|
||||||
|
|
@ -240,6 +246,8 @@ class EstablishmentDetailSerializer(EstablishmentBaseSerializer):
|
||||||
menu = MenuSerializers(source='menu_set', many=True, read_only=True)
|
menu = MenuSerializers(source='menu_set', many=True, read_only=True)
|
||||||
best_price_menu = serializers.DecimalField(max_digits=14, decimal_places=2, read_only=True)
|
best_price_menu = serializers.DecimalField(max_digits=14, decimal_places=2, read_only=True)
|
||||||
best_price_carte = serializers.DecimalField(max_digits=14, decimal_places=2, read_only=True)
|
best_price_carte = serializers.DecimalField(max_digits=14, decimal_places=2, read_only=True)
|
||||||
|
range_price_menu = RangePriceSerializer(read_only=True)
|
||||||
|
range_price_carte = RangePriceSerializer(read_only=True)
|
||||||
vintage_year = serializers.ReadOnlyField()
|
vintage_year = serializers.ReadOnlyField()
|
||||||
|
|
||||||
class Meta(EstablishmentBaseSerializer.Meta):
|
class Meta(EstablishmentBaseSerializer.Meta):
|
||||||
|
|
@ -264,6 +272,8 @@ class EstablishmentDetailSerializer(EstablishmentBaseSerializer):
|
||||||
'menu',
|
'menu',
|
||||||
'best_price_menu',
|
'best_price_menu',
|
||||||
'best_price_carte',
|
'best_price_carte',
|
||||||
|
'range_price_menu',
|
||||||
|
'range_price_carte',
|
||||||
'transportation',
|
'transportation',
|
||||||
'vintage_year',
|
'vintage_year',
|
||||||
]
|
]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user