gault-millau/apps/booking/serializers/web.py
2019-10-01 18:25:57 +03:00

48 lines
1.1 KiB
Python

from rest_framework import serializers
from booking.models import models
class BookingSerializer(serializers.ModelSerializer):
class Meta:
model = models.Booking
fields = (
'id',
'type',
)
class PendingBookingSerializer(serializers.ModelSerializer):
restaurant_id = serializers.IntegerField(min_value=0, )
id = serializers.ReadOnlyField()
class Meta:
model = models.Booking
fields = (
'id',
'type',
'restaurant_id',
'pending_booking_id',
'user',
)
class UpdateBookingSerializer(serializers.ModelSerializer):
id = serializers.ReadOnlyField()
class Meta:
model = models.Booking
fields = ('booking_id', 'id')
class GetBookingSerializer(serializers.ModelSerializer):
details = serializers.SerializerMethodField()
def get_details(self, obj):
booking = self.instance
service = booking.get_service_by_type(booking.type)
return service.get_booking_details(booking.booking_id)
class Meta:
model = models.Booking
fields = '__all__'