小编bde*_*dex的帖子

Django Rest Framework 中的嵌套序列化器“通过模型”

我在序列化中间“枢轴”模型并附加到 Django Rest Framework 中多对多关系中的每个项目时遇到困难。

例子:

模型.py:

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)

序列化器.py:

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

class GroupSerializer(ModelSerializer):
    class Meta:
        model = Group

class MembershipSerializer(ModelSerializer):
    class Meta:
        model = Membership
Run Code Online (Sandbox Code Playgroud)

我尝试遵循答案: Inclusion intermediary (through model) in returns in Django Rest Framework

但这不完全是我需要的

我需要生成以下输出

{
  "id": 1,
  "name": "Paul McCartney",
  "groups": [
    { …
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

3
推荐指数
1
解决办法
5747
查看次数

标签 统计

django ×1

django-rest-framework ×1

python ×1