我有模型A和模型B,模型B是模型A的子代。
我已经为模型A对象实现了ModelSerializer,我需要将相关模型B的所有属性表示为模型A的属性(属性)。
如何使用Django Rest Framework做到这一点?
谢谢
答案 0 :(得分:0)
如果是孩子,那么:
class ModelB(ModelA):
您只需要在序列化程序中显式指定字段名称。
class ModelBSerializer(serializers.ModelSerializer):
class Meta:
model = ModelB
fields = ('fieldFromB', 'fieldFromA', ....
read_only_fields = ('fieldFromA', ...
如果是m2m或FK关系,请为模型A创建序列化器
class ModelBSerializer(serializers.ModelSerializer):
SModelA= ModelASerializer(many=True, read_only=True)
class Meta:
model = ModelB
fields = ('fieldFromB', 'SModelA', ....
read_only_fields = ('SModelA', ...
如果它是与模型A的FK关系,并且您只需要ModelA的PK。只需将modelA添加到字段和只读字段中