Как установить вложенные сериализаторы без ошибок

Я новичок в DRF и последние недели пытаюсь создать вложенную структуру сериализатора. По существу, у меня есть модель User и модель Social Media, в которой User является внешним ключом:

models.py

class CustomUser(AbstractUser):
    id = models.UUIDField(default = uuid.uuid4, editable = False, primary_key = True)
    country = CountryField(blank_label='(select country)')
    updated_at = models.DateTimeField(auto_now = True, editable = False, null = True)
    gender = models.CharField(max_length=50, choices=Gender.choices, default = Gender.OTHERS)
    avatar = models.ImageField(upload_to = "avatar_pics", default = "avatar_pics/default.jpg", null = True)

class UserSocialMediaAccounts(models.Model):
    id = models.UUIDField(default = uuid.uuid4, editable = False, primary_key = True)
    user = models.ForeignKey(CustomUser, on_delete = models.CASCADE)
    social_media = models.CharField(max_length=50, choices=SocialAccounts.choices)
    social_media_url = models.URLField(null = False)

На данный момент мои сериализаторы для отображения пользователя и связанных с ним аккаунтов социальных сетей следующие:

<
class CustomUserSocialMediaSerializer(serializers.ModelSerializer):
    class Meta:
        model = UserSocialMediaAccounts
        fields = ('user','social_media', 'social_media_url')

class CustomUserDetailSerializerSM(CountryFieldMixin,serializers.ModelSerializer):
    social_media = CustomUserSocialMediaSerializer(many = True)
    
    class Meta:
        model = CustomUser
        fields = ('email','first_name','last_name','country','gender','avatar','social_media')
serializers.py

Мое представление, которое я хочу использовать для отображения связанных аккаунтов социальных сетей запрашиваемого пользователя:

views.py

class CustomUserDetailSocialMediaView(generics.ListCreateAPIView):
    
    serializer_class =  CustomUserDetailSerializerSM
    permission_classes = (IsAuthorOrReadOnly,)
    
    
    def get_queryset(self):
        username = self.kwargs['username']
        return UserSocialMediaAccounts.objects.filter(user__username = username)

urls.py

urlpatterns = [ path('detail/<str:username>/socialaccounts/',CustomUserDetailSocialMediaView.as_view()),  
]

Однако, если я попытаюсь перейти к /accounts/detail/testuser1/socialaccounts, то отобразится:

AttributeError at /accounts/detail/testuser1/socialaccounts/
Got AttributeError when attempting to get a value for field `country` on serializer `CustomUserDetailSerializerSM`.
The serializer field might be named incorrectly and not match any attribute or key on the `UserSocialMediaAccounts` instance.
Original exception text was: 'UserSocialMediaAccounts' object has no attribute 'country'.

Я не уверен, что делаю неправильно, так как мне кажется, что я настроил свои сериализаторы эквивалентно настройке в самом учебнике по DRF: https://www.django-rest-framework.org/api-guide/relations/#nested-relationships. Может быть, это проблема с представлением? Любая помощь будет очень признательна. Я бьюсь головой об это уже 2 недели.

Вернуться на верх