在Django Rest Framework中结合两个不同的模型

iMi*_*twe 5 django django-rest-framework

我有两个不相关的模型:

class ModelOne(models.Model):
    fieldA = models.CharField(max_length=50)
    fieldB = models.CharField(max_length=50)

class ModelTwo(models.Model):
    fieldC = models.CharField(max_length=50)
    fieldD = models.CharField(max_length=50)
Run Code Online (Sandbox Code Playgroud)

我想用DRF 构建一个序列化器,这样我就可以返回像这样的json

},...
{ 'fieldA' : 'a',
  'fieldB' : 'b',
  'fieldC' : 'c',
  'fieldD' : 'd'
}, ...
Run Code Online (Sandbox Code Playgroud)

我现在无法做到。我已经试过这个模块,但是遇到错误

Mar*_*rin 1

像这样的东西:

from rest_framework.serializers import ModelSerializer

class ModelOneSerializer(ModelSerializer):
    """
    A serializer for ``ModelOne``.
    """
    class Meta(object):
        model = ModelOne


class ModelTwoSerializer(ModelSerializer):
    """
    A serializer for ``ModelTwo``.
    """
    user = ModelOneSerializer()

    class Meta(object):
        model = ModelTwo
Run Code Online (Sandbox Code Playgroud)

  • 好的。它将如何在视图集中使用:`ModelTwoSerializer(ModelTwo.objects.all())`? (4认同)