tour plan viewset ozgardi

This commit is contained in:
behruz-dev
2025-12-02 17:08:32 +05:00
parent 8b56f9e65b
commit c5e6c83e8d
2 changed files with 8 additions and 14 deletions

View File

@@ -31,8 +31,6 @@ class TourPlanListSerializer(serializers.ModelSerializer):
class TourPlanCreateSerializer(serializers.Serializer): class TourPlanCreateSerializer(serializers.Serializer):
place_name = serializers.CharField() place_name = serializers.CharField()
user_id = serializers.IntegerField() user_id = serializers.IntegerField()
latitude = serializers.FloatField()
longitude = serializers.FloatField()
date = serializers.DateField() date = serializers.DateField()
def validate(self, data): def validate(self, data):
@@ -47,8 +45,6 @@ class TourPlanCreateSerializer(serializers.Serializer):
return TourPlan.objects.create( return TourPlan.objects.create(
place_name=validated_data.get('place_name'), place_name=validated_data.get('place_name'),
user=validated_data.get('user'), user=validated_data.get('user'),
longitude=validated_data.get('longitude'),
latitude=validated_data.get('latitude'),
date=validated_data.get('date'), date=validated_data.get('date'),
) )
@@ -57,16 +53,13 @@ class TourPlanUpdateSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = TourPlan model = TourPlan
fields = [ fields = [
'place_name', 'user', 'latitude', 'place_name', 'user', 'date'
'longitude', 'date'
] ]
def update(self, instance, validated_data): def update(self, instance, validated_data):
with transaction.atomic(): with transaction.atomic():
instance.place_name = validated_data.get('place_name', instance.place_name) instance.place_name = validated_data.get('place_name', instance.place_name)
instance.user = validated_data.get('user', instance.user) instance.user = validated_data.get('user', instance.user)
instance.latitude = validated_data.get('latitude', instance.latitude)
instance.longitude = validated_data.get('longitude', instance.longitude)
instance.date = validated_data.get('date', instance.date) instance.date = validated_data.get('date', instance.date)
instance.save() instance.save()
return instance return instance

View File

@@ -22,12 +22,13 @@ class TourPlanViewSet(viewsets.GenericViewSet, ResponseMixin):
queryset = TourPlan.objects.all() queryset = TourPlan.objects.all()
def get_serializer_class(self): def get_serializer_class(self):
if self.action == "post": match self.action:
return serializers.TourPlanCreateSerializer case "post":
elif self.action in ["patch", "put"]: return serializers.TourPlanCreateSerializer
return serializers.TourPlanUpdateSerializer case "update_doctor":
else: return serializers.TourPlanUpdateSerializer
return serializers.TourPlanListSerializer case _:
return serializers.TourPlanListSerializer
@swagger_auto_schema( @swagger_auto_schema(
tags=['Admin Tour Plans'], tags=['Admin Tour Plans'],