我是django rest api developpement的新手。我有两个模型,一个是类别,另一个是子类别。 这是我的模特
class Category(models.Model):
title = models.Charfield()
brief = models.TextField()
subcategories = model.ManyToManyField('Subcategory', blank=True)
我的序列化程序类
class CategorySerializer(serializers.ModelSerializer):
title= serializer.Charfield()
subcategories = Relatedfield(many=True)
现在在视野中
def post(self, request, format = None):
data=request.DATA
serialize= CategorySerializer(data=request.DATA)
if serializer.valid():
serializer.save()
如何在post方法中保存{'title':"test",'subscategories':[{'description':'bla bla bla'},{'description':'test test'}]}
等嵌套数据。
我在文档
中已经阅读过这篇文章注意:嵌套序列化程序仅适用于只读 表示,因为有些情况下他们会有歧义或 更新实例时使用的非显而易见的行为。用于读写 表示你应该总是使用平面表示,使用 其中一个RelatedField子类。
请让我建议在django休息时进行嵌套关系发布/放置的正确方法或解决方案。
答案 0 :(得分:3)
您是否尝试过创建SubCategorySerializer
并将其添加为CategorySerializer
上的字段?
class SubcategorySerializer(serializers.ModelSerializer):
class Meta:
model = Subcategory
class CategorySerializer(serializers.ModelSerializer):
subcategories = SubcategorySerializer(many=True)
文档:http://django-rest-framework.org/api-guide/relations.html#nested-relationships