renge_menu and carte
This commit is contained in:
parent
3462c74a65
commit
b3345d612a
|
|
@ -16,7 +16,7 @@ class Command(BaseCommand):
|
|||
if est:
|
||||
|
||||
menu, _ = Menu.objects.get_or_create(
|
||||
category={"en-GB": "FORMULAS"},
|
||||
category={'en-GB': 'formulas'},
|
||||
establishment=est
|
||||
)
|
||||
plate, created = Plate.objects.get_or_create(
|
||||
|
|
|
|||
|
|
@ -434,6 +434,27 @@ class Establishment(ProjectBaseMixin, URLImageMixin, TranslatedFieldsMixin):
|
|||
def best_price_carte(self):
|
||||
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
|
||||
def works_noon(self):
|
||||
""" Used for indexing working by day """
|
||||
|
|
|
|||
|
|
@ -149,6 +149,7 @@ class EstablishmentSubTypeBaseSerializer(serializers.ModelSerializer):
|
|||
'establishment_type': {'write_only': True}
|
||||
}
|
||||
|
||||
|
||||
class EstablishmentSubTypeGeoSerializer(EstablishmentSubTypeBaseSerializer):
|
||||
"""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):
|
||||
"""Serializer for Establishment model."""
|
||||
|
||||
|
|
@ -240,6 +246,8 @@ class EstablishmentDetailSerializer(EstablishmentBaseSerializer):
|
|||
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_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()
|
||||
|
||||
class Meta(EstablishmentBaseSerializer.Meta):
|
||||
|
|
@ -264,6 +272,8 @@ class EstablishmentDetailSerializer(EstablishmentBaseSerializer):
|
|||
'menu',
|
||||
'best_price_menu',
|
||||
'best_price_carte',
|
||||
'range_price_menu',
|
||||
'range_price_carte',
|
||||
'transportation',
|
||||
'vintage_year',
|
||||
]
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user