我有一个自定义序列化程序,其中包含一些其他模型序列化程序,数据字段和一些列表字段,用于管理多对多关系。这是一个例子。
class CustomSerializer(serializers.Serializer):
a_model_serializer = AModelSerializer()
b_model_serializer = serializers.ListField(child=CModelSerializer())
another_field = serializers.CharField()
基于这个序列化程序,我必须通过第三个表创建一些模型对象和一些多对多的关系。现在,这可能是解决这种情况的最佳方式。
答案 0 :(得分:0)
覆盖serializers.Serializer的create()函数。要管理更新,请覆盖update()函数。
class CustomSerializer(serializers.Serializer):
a_model_serializer = AModelSerializer()
b_model_serializer = serializers.ListField(child=CModelSerializer())
another_field = serializers.CharField()
def create(self, validated_data):
print(validated_data)
# Do your custom create
def update(self, instance, validated_data):
print(validated_data)
# Do your custom update
http://www.django-rest-framework.org/api-guide/serializers/#saving-instances