У объекта 'User' нет атрибута 'rank'

У меня есть модель UserProfile, которая имеет систему ранжирования, но проблема в том, что она продолжает получать некоторые ошибки атрибутов

class UserProfile(models.Model):
    user= models.OneToOneField(User, on_delete=models.CASCADE,null=True)
    profile_pic = models.ImageField(blank=True, null=True, default='default.png')
    bio = models.TextField(null=True,blank=True)
    id = models.UUIDField(default=uuid.uuid4,  unique=True, primary_key=True, editable=False)
    username = models.CharField(max_length=255,null=True,blank=False)
    rating= models.IntegerField(default=200,null=True,blank=False)
    major = models.ForeignKey(Major,on_delete=models.SET_NULL,null=True,related_name="major")
    rank = models.ForeignKey(Rank,on_delete=models.SET_NULL,null=True,related_name="rank")

    def __str__(self):
        return self.username

и вот его сериализатор

class UserProfileSerializer(serializers.ModelSerializer):
    profile_pic = serializers.SerializerMethodField(read_only=True)
    rank = serializers.SerializerMethodField(read_only=True)
    major = serializers.SerializerMethodField(read_only=True)
    class Meta:
        model = UserProfile
        fields = '__all__'

    def get_profile_pic(self, obj):
        try:
            pic = obj.profile_pic.url
        except:
            pic = None
        return pic
    
    def get_rank(self,obj):
        rank = obj.rank
        serializer = RankSerializer(rank,many=False)
        return serializer.data

    def get_major(self,obj):
        major = obj.major
        serializer = MajorSerializer(major,many=False)
        return serializer.data

Я не знаю почему, но я получаю эту ошибку пользователя Может кто-нибудь помочь мне, пожалуйста

здесь весь стек-трейс ошибки Я добавляю это, чтобы убедиться, что stackoverflow будет в порядке со всеми этими строками кода, еще кое-что, не смотрите на это, не тратьте свое время, пожалуйста, извините

Я нашел проблему, она была в моем questionSerializer, который я должен был убедиться, что я получаю userprofile obj вот код, если хотите

class QuestionSerializer(serializers.ModelSerializer):
    user = serializers.SerializerMethodField(read_only=True)
    class Meta:
        model=Question
        fields = "__all__"

    def get_user(self,obj):
        user = obj.user.userprofile #edited this from obj.user
        serializer = UserProfileSerializer(user,many=False)
        return serializer.data

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