Оригинальный текст исключения был: 'int' object has no attribute 'name'. в django rest framework
Я пытаюсь вызвать get api, но он каждый раз выдает мне эту ошибку.
Ошибка:
AttributeError: Получена ошибка AttributeError при попытке получить значение для поля name на сериализаторе NestedSerializer.
Поле сериализатора может быть названо неверно и не совпадать с атрибутом или ключом экземпляра int.
Оригинальный текст исключения был: объект 'int' не имеет атрибута 'name'.
Мои модели:
Мои взгляды:
class PackageSearchAPi(ListAPIView):
queryset = Package.objects.all().order_by('package_name')
serializer_class = PackageSerializer
def get(self, request, *args, **kwargs):
search = self.request.query_params.get('search',None)
if search is not None:
qs = Package.objects.filter(Q(destination__name__icontains=search)|
Q(destination__continent__icontains=search)|
Q(package_name__icontains=search)|
Q(city__icontains=search)).disctinct()
else:
qs = Package.objects.values('id','destination','package_name','city')
serializer = PackageSerializer(qs,many=True)
return Response(serializer.data,status=200)
Мои сериализаторы:
class PackageSerializer(serializers.ModelSerializer):
class Meta:
model = Package
fields = ['id', 'operator','destination', 'package_name', 'duration', 'featured', 'price','price_2', 'discount',
'city', 'tour_type','new_activity', 'accommodation', 'transport', 'age_range',
'fix_departure', 'rating', 'image', 'date_created', ]
depth = 1
Здесь я проверил код и ничего не кажется неправильным в любой части, но продолжает получать ту же самую вышеупомянутую ошибку.
Для вложенных отношений необходимо определить вложенный сериализатор
class DestinationSerializer(serializers.Serializer):
name = serializers.CharField()
top = serializers.BooleanField()
continent = serializers.CharField()
class PackageSerializer(serializers.ModelSerializer):
destination = DestinationSerializer()
class Meta:
model = Package
fields = ['id', 'operator','destination', 'package_name', 'duration', 'featured', 'price','price_2', 'discount',
'city', 'tour_type','new_activity', 'accommodation', 'transport', 'age_range',
'fix_departure', 'rating', 'image', 'date_created', ]