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

View File

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