相关疑难解决方法(0)

在Django Rest Framework中的响应中包含中介(通过模型)

我有一个关于处理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()
Run Code Online (Sandbox Code Playgroud)

serializers.py:

imports...

class MemberSerializer(ModelSerializer):
    class Meta:
        model = Member

class GroupSerializer(ModelSerializer):
    class Meta:
        model = Group
Run Code Online (Sandbox Code Playgroud)

views.py:

imports...

class MemberViewSet(ModelViewSet):
    queryset = Member.objects.all()
    serializer_class = MemberSerializer

class GroupViewSet(ModelViewSet):
    queryset = Group.objects.all()
    serializer_class = GroupSerializer
Run Code Online (Sandbox Code Playgroud)

在获取成员实例时,我成功接收了所有成员的字段及其组 - 但是我只获得了组的详细信息,而没有来自成员模型的额外详细信息.

换句话说,我希望收到:

{ …
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

96
推荐指数
2
解决办法
2万
查看次数

标签 统计

django ×1

django-rest-framework ×1

python ×1