我无法在文档或互联网上找到此信息.
最新的django-rest-framework,django 1.6.5
如何创建一个可以处理嵌套序列化器的ModelSerializer,其中嵌套模型是使用多重继承实现的?
例如
######## MODELS
class OtherModel(models.Model):
stuff = models.CharField(max_length=255)
class MyBaseModel(models.Model):
whaddup = models.CharField(max_length=255)
other_model = models.ForeignKey(OtherModel)
class ModelA(MyBaseModel):
attr_a = models.CharField(max_length=255)
class ModelB(MyBaseModel):
attr_b = models.CharField(max_length=255)
####### SERIALIZERS
class MyBaseModelSerializer(serializers.ModelSerializer):
class Meta:
model=MyBaseModel
class OtherModelSerializer(serializer.ModelSerializer):
mybasemodel_set = MyBaseModelSerializer(many=True)
class Meta:
model = OtherModel
Run Code Online (Sandbox Code Playgroud)
这显然不起作用,但说明了我在这里要做的事情.
在OtherModelSerializer中,我希望mybasemodel_set根据我们拥有的内容序列化ModelA或ModelB的特定表示.
如果它很重要,我也使用django.model_utils和inheritencemanager,所以我可以检索一个查询集,其中每个实例已经是适当的子类的实例.
谢谢