Django得到所有,与相关的模型

时间:2015-02-15 15:28:04

标签: django django-models django-rest-framework

问题:

我正在使用Django Rest Framework,我想获取所有包含关系的模型,如下所示:

TestModel.objects.all()

我的模型看起来像这样:

class TestModel(models.Model):
   name = models.CharField(max_length=32)
   related_model = models.ForeignKey(TestRelation)

问题是,我只获得related_model的主键,但我需要整个related_model

我使用ListCreateAPIView,使用上面的查询集(TestModel.objects.all())和ModelSerializer的最基本形式。

我尝试了PrimaryKeyRelatedField,但我得到了相同的结果..

谢谢!

1 个答案:

答案 0 :(得分:1)

只需为相关型号创建序列化程序:

class TestRelationSerializer(serializers.ModelSerializer):

    class Meta:
        meta = TestRelation

并使用TestModelSerializer中的字段:

class TestModelSerializer(serializers.ModelSerializer):
    related_model = TestRelationSerializer()

您也可以使用TestModelSerializer作为TestRelationSerializer中的字段并将其设置为true来进行其他操作:

class TestRelationSerializer(serializers.ModelSerializer):
    testmodel_set = TestModelSerializer(many=True)

请记住,由于无限递归,你无法同时做到这两点。