【问题标题】:django rest nested relation in post/putdjango 在 post/put 中休息嵌套关系
【发布时间】:2013-06-13 08:11:49
【问题描述】:

我是 django rest api 开发的新手。我有两个模型,一个是类别,另一个是子类别。 这是我的模型

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 rest 中进行嵌套关系发布/放入的正确方法或解决方案。

【问题讨论】:

  • 我需要有关 django rest framework(api) 的帮助 为 m:m 关系发布数据并添加到数据库中。

标签: django django-models django-views django-rest-framework


【解决方案1】:

您是否尝试过创建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

【讨论】:

    猜你喜欢
    • 2019-08-06
    • 2010-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-11
    • 1970-01-01
    相关资源
    最近更新 更多