본문 바로가기

개발/Django Restful Framework(drf)

DRF Foreignkey Serializer에서 설정하기

반응형
1
2
3
4
5
6
7
8
9
10
class Festival(models.Model):    
    ~~~
 
class Hole(models.Model):    
    festival = models.ForeignKey('festival.festival', verbose_name=('페스티벌'), related_name='holes')    
    name = models.CharField(max_length=100 ,verbose_name='공연홀')    
 
    def __unicode__(self):        
        return u'%s의 %s홀' % (self.festival, self.name)
 
cs


위와 같이 Festival, Hole 모델이 있고, 여기서 Hole과 Festival의 관계가 외래키일 때,

DRF의 Festival에서 Hole을  보여주고 싶을 때는


1
2
3
4
5
6
7
8
9
 
class FestivalSerializer(serializers.ModelSerializer):    
    # holes = HoleSerializer(many=True)    
    holes = serializers.StringRelatedField(many=True)    
    class Meta:        
        model = Festival        
        depth = 2        
        fields = ('field1',)        
     
cs


위의 Bold처리 된 것으로 처리 해주면 된다.

이 때, holes라는 네이밍은 related_name명과 같아야 한다


반응형

'개발 > Django Restful Framework(drf)' 카테고리의 다른 글

DRF Serializer 알아보기  (0) 2016.04.26
DRF Serializer, Foreignkey  (0) 2016.04.26
djoser 패키지 (1)  (0) 2016.04.25
DRF write only field  (0) 2016.04.22
DRF url parameter filter 추가하기  (0) 2016.04.16