Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 使用3深度序列化程序创建对象_Django_Django Rest Framework - Fatal编程技术网

Django 使用3深度序列化程序创建对象

Django 使用3深度序列化程序创建对象,django,django-rest-framework,Django,Django Rest Framework,django rest framework遇到了一个问题,在这里我有以下序列化程序设置: class PackageSerializer(serializers.ModelSerializer): class Meta: model = Package class CommandSerializer(serializers.ModelSerializer): class Meta: model = Command class GroupSe

django rest framework遇到了一个问题,在这里我有以下序列化程序设置:

class PackageSerializer(serializers.ModelSerializer):
    class Meta:
        model = Package


class CommandSerializer(serializers.ModelSerializer):
    class Meta:
        model = Command


class GroupSerializer(serializers.ModelSerializer):
    class Meta:
        model = Group


class UserSerializer(serializers.ModelSerializer):
    groups = GroupSerializer(many=True)

class NodeSerializer(serializers.ModelSerializer):
    users = UserSerializer(many=True, required=False)
    packages = PackageSerializer(many=True, required=False)
    commands = CommandSerializer(many=True, required=False)

class SimulationSerializer(serializers.ModelSerializer):
    nodes = NodeSerializer(many=True)
我遇到的问题是,如果我将下面的JSON发布到适当的API,我会得到响应“需要一个字典,但得到了unicode”

我已经使用rest框架API在python中编写了此功能的测试,测试通过了,但出于某种原因,包对象数组被转换为字符串,而不是对象数组


在此方面的任何帮助都将不胜感激

事实证明我只是个白痴,输出来自我输出到控制台的变量,同时我发布了不同的数据。

你文章中的JSON看起来不错,但可能你试图发布的实际数据都用引号括起来:
u“{”nodes”…}
。在交互式python模式下使用
type()
检查它。文章中的JSON是JSON.stringify()的输出,因为我正在将数据从角度前端发布到DRF API。
{
  "nodes": [
    {
      "os": "Ubuntu",
      "cpu_count": 1,
      "memory_amount": 256,
      "name": "Node1",
      "packages": [
        {
          "name": "npm"
        },
        {
          "name": "bower"
        }
      ]
    }
  ]
}