m2m / 모델 및 django rest 프레임 워크의 프레젠테이션을 통해 처리하는 것에 대한 질문이 있습니다. 고전적인 예를 들어 보겠습니다.
models.py :
from django.db import models
class Member(models.Model):
name = models.CharField(max_length = 20)
groups = models.ManyToManyField('Group', through = 'Membership')
class Group(models.Model):
name = models.CharField(max_length = 20)
class Membership(models.Model):
member = models.ForeignKey('Member')
group = models.ForeignKey('Group')
join_date = models.DateTimeField()
serializers.py :
imports...
class MemberSerializer(ModelSerializer):
class Meta:
model = Member
class GroupSerializer(ModelSerializer):
class Meta:
model = Group
views.py :
imports...
class MemberViewSet(ModelViewSet):
queryset = Member.objects.all()
serializer_class = MemberSerializer
class GroupViewSet(ModelViewSet):
queryset = Group.objects.all()
serializer_class = GroupSerializer
Member 인스턴스를 가져올 때 모든 구성원 필드와 그룹을 성공적으로 수신합니다. 그러나 Membership 모델에서 제공하는 추가 세부 정보없이 그룹 세부 정보 만 가져옵니다.
즉, 다음 을받을 것으로 예상 합니다.
{
'id' : 2,
'name' : 'some member',
'groups' : [
{
'id' : 55,
'name' : 'group 1'
'join_date' : 34151564
},
{
'id' : 56,
'name' : 'group 2'
'join_date' : 11200299
}
]
}
join_date를 참고하십시오 .
물론 Django Rest-Framework 공식 페이지를 포함하여 너무 많은 솔루션을 시도했지만 아무도 그것에 대한 적절한 대답을 제공하지 않는 것 같습니다. 이러한 추가 필드를 포함하려면 어떻게해야합니까? 나는 django-tastypie로 더 간단하다는 것을 알았지 만 다른 문제가 있었고 나머지 프레임 워크를 선호했습니다.