[drf] Foreign key 가지고 놀기

Error maze·2022년 6월 27일
0

django

목록 보기
15/15

Company/models.py

class Companys(models.Model):
    company_name = models.CharField(max_length=50)
    types = models.CharField(max_length=50)

    def __str__(self):
        return self.company_name

Job/models.py

class Job(models.Model):
    company = models.ForeignKey('Company.Companys', on_delete=models.CASCADE, null = True, related_name="company")
    position = models.CharField(max_length=500, null=False)
    compensation = models.IntegerField(null=False)
    description = models.TextField(null=False)
    skills = models.CharField(max_length=200, null=False)

    def __str__(self):
        return self.company

Job/serializers.py

class JobSerializer(serializers.ModelSerializer):
    company = serializers.ReadOnlyField(source="company.company_name")
    class Meta:
        model = Job
        fields = ['id','company','position','skills',]

Companys 모델에서 정의한 필드인 company_name만을 readonly로 가져오고 싶다~
Companys 모델은 Job모델에서 Foreignkey로 가지고 있으니,
source로 가져오면 된다.
source="[Job(자식테이블)에서 foreingkey를 가지고 있는 필드].[Companys(부모테이블)에서 가져오고 싶은 필드]"

~~
nested serializer도 작성하기 ~~~
작성중 ~~

profile
에러의 지옥 속 막다른 길 (ง •̀_•́)ง

0개의 댓글