56 lines
1.3 KiB
Python
56 lines
1.3 KiB
Python
from rest_framework import serializers
|
|
|
|
from user.serializers import UserSerializer
|
|
from . import models
|
|
|
|
|
|
class SettingSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = models.Setting
|
|
fields = '__all__'
|
|
extra_kwargs = {
|
|
'pre_booking_interval_day': {
|
|
'min_value': 1
|
|
},
|
|
'punish_point': {
|
|
'min_value': 1
|
|
},
|
|
'reward_point': {
|
|
'min_value': 1
|
|
},
|
|
}
|
|
|
|
# TODO
|
|
def validate_booking_interval(self, value):
|
|
if (not value in [30, 60]):
|
|
raise serializers.ValidationError('请确保该值等于30或者60。')
|
|
return value
|
|
|
|
|
|
class RoomSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = models.Room
|
|
fields = '__all__'
|
|
|
|
|
|
class SeatSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = models.Seat
|
|
fields = '__all__'
|
|
|
|
|
|
class BookingSerializer(serializers.ModelSerializer):
|
|
user = UserSerializer()
|
|
room = RoomSerializer()
|
|
seats = SeatSerializer(many=True)
|
|
|
|
class Meta:
|
|
model = models.Booking
|
|
fields = '__all__'
|
|
|
|
|
|
class BookingCreateSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = models.Booking
|
|
fields = '__all__'
|