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도 작성하기 ~~~
작성중 ~~