序列化程序字段中有一个非常好的功能,而序列化程序通常称为“源”,你可以在其中指定来自模型字段的数据源。
class ParkSerializer(serializers.ModelSerializer): location = serializers.SomeSerializerField(source='alternate_name') class meta: model = Park fields = ('other_fields', 'location')
如模型所建议的,其中serializers.SomeSerializerField可以是serializers.CharField,但也可以由其他任何字段组成。你也可以放置关系字段和其他序列化器,这仍然可以像魅力一样工作。即,即使alternate_name是另一个模型的外键字段。
class ParkSerializer(serializers.ModelSerializer): locations = AlternateNameSerializer(source='alternate_name', many=true) class meta: model = Park fields = ('other_fields', 'locations')class AlternateNameSerializer(serializers.ModelSerialzer): class meta: model = SomeModel
这也适用于请求的创建,删除和修改类型。它有效地创建了序列化器中字段名称和模型中字段名称的一对一映射。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)