fix edit user bug

This commit is contained in:
2025-08-03 17:59:20 +03:30
parent 3bb528f4f1
commit 04191c838b
3 changed files with 20 additions and 5 deletions

View File

@@ -140,7 +140,7 @@ class UserSerializer(serializers.ModelSerializer):
instance.address = validated_data.get('address')
instance.photo = validated_data.get('photo')
instance.province = validated_data.get('province', instance.province)
instance.city = validated_data.get('province', instance.province)
instance.city = validated_data.get('city', instance.city)
instance.otp_status = validated_data.get('otp_status')
instance.save()

View File

@@ -107,7 +107,7 @@ class RancherViewSet(viewsets.ModelViewSet, DynamicSearchMixin):
def list(self, request, *args, **kwargs):
""" list of ranchers """
search = self.filter_query(self.queryset) # search & filter
search = self.filter_query(self.queryset.order_by('-modify_date')) # search & filter
page = self.paginate_queryset(search)
if page is not None:
serializer = self.get_serializer(page, many=True)
@@ -116,6 +116,18 @@ class RancherViewSet(viewsets.ModelViewSet, DynamicSearchMixin):
@action(
methods=['get'],
detail=True,
url_path='herds',
url_name='herds',
name='herds'
)
def herds_by_rancher(self, request):
pass
def herds_by_rancher(self, request, pk=None):
""" list of rancher herds """
rancher = self.get_object()
queryset = rancher.herd.all() # get rancher herds
# paginate queryset
page = self.paginate_queryset(queryset)
if page is not None:
serializer = HerdSerializer(page, many=True)
return self.get_paginated_response(serializer.data)

View File

@@ -18,11 +18,12 @@ class HerdSerializer(serializers.ModelSerializer):
""" Customize serializer output """
representation = super().to_representation(instance)
if isinstance(instance, Herd):
representation['owner'] = UserSerializer(instance.owner).data
representation['owner'] = instance.owner.id
representation['cooperative'] = OrganizationSerializer(instance.cooperative).data
representation['province'] = ProvinceSerializer(instance.province).data
representation['city'] = CitySerializer(instance.city).data
representation['contractor'] = OrganizationSerializer(instance.contractor).data
representation['rancher'] = RancherSerializer(instance.rancher).data
return representation
@@ -33,6 +34,8 @@ class RancherSerializer(serializers.ModelSerializer):
fields = '__all__'
def to_representation(self, instance):
""" customize output of serializer """
representation = super().to_representation(instance)
representation['province'] = {