'how to fix AttributeError: 'RelatedManager' object has no attribute 'id'

I have two nested models (task and Proposal) with a foreign key relationship, i've followed every necessary step but i'm getting an inegrity error below is d err and codes


class JobPost(models.Model):
    id= models.UUIDField(default=uuid.uuid4, primary_key=True,  
        editable=False)
     user = models.ForeignKey(CustomUser, related_name='users',  
       on_delete=models.CASCADE)
    title = models.CharField(max_length=255)
   

    class Proposal(models.Model):
        user = models.OneToOneField(CustomUser, related_name="user", on_delete=models.CASCADE)
        id = models.UUIDField(default=uuid.uuid4, primary_key=True, editable=False)
        task = models.ForeignKey(JobPost, on_delete=models.CASCADE, related_name='proposal')

Serializer

1st serializer

  class JobSerializer(serializers.ModelSerializer):
    user = serializers.CharField(source='user.username', read_only=True )
    user_id = serializers.CharField(source='user.id', read_only=True)
    proposals = ProposalSerializer(many=True, read_only=True)     
    class Meta:
        model = JobPost
        fields = [
                    'user',
                    'user_id',
                    'id', 
                    'proposals',
                    'etc'
                ]

2nd Serializer

  class ProposalSerializer(serializers.ModelSerializer):
    user = serializers.CharField(source='user.username',read_only=True)

    class Meta:
        model = Proposal
        fields = [
            'id',
            'proposal_description',
            'duration',
            'bid',
        ]
     def create(self, validated_data, instance=None):
        if 'task' in validated_data:
            task = validated_data.pop('task')
        else:
            task = JobPost.objects.create(**validated_data)
        user_proposal = Proposal.objects.update_or_create(
            task = task, defaults=validated_data
        )
        return user_proposal

APIVIEW

  class  ProposalAPIView(generics.CreateAPIView):
    serializer_class = ProposalSerializer
    look_up = 'id',
    queryset = Proposal.objects.all()
    permissions_classes = [permissions.IsAuthenticated]

2nd APIView

  class CreateJobPost(generics.CreateAPIView):
    serializer_class = JobSerializer
    permissions_classes = [permissions.IsAuthenticated]
        

err msg


    task = CustomUser.objects.get(pk=self.request.user.task.id)
AttributeError: 'RelatedManager' object has no attribute 'id'



can anyone pls help



Solution 1:[1]

You haven't mentioned your models. Try this.

task_id = models.PositiveIntegerField(blank=True,null=True)

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Farooq