相关疑难解决方法(0)

django-rest-framework,多表模型继承,ModelSerializers和嵌套序列化程序

我无法在文档或互联网上找到此信息.
最新的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,所以我可以检索一个查询集,其中每个实例已经是适当的子类的实例.

谢谢

python django django-models django-rest-framework

14
推荐指数
2
解决办法
7187
查看次数