Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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
Python 如何序列化字符串列表_Python_Django_Django Rest Framework_Django Serializer - Fatal编程技术网

Python 如何序列化字符串列表

Python 如何序列化字符串列表,python,django,django-rest-framework,django-serializer,Python,Django,Django Rest Framework,Django Serializer,我的序列化程序很容易出问题 我的看法是: 我的序列化程序: class RecipeListSerializer(serializers.Serializer): name = serializers.CharField() 我得到的输出: [ { "name": "Gelato1" }, { "name": "Gelato2" }, ] 我想要的是: [ 'name': [ 'Gelato1',

我的序列化程序很容易出问题
我的看法是:

我的序列化程序:

class RecipeListSerializer(serializers.Serializer):
    name = serializers.CharField()
我得到的输出:

[
    {
        "name": "Gelato1"
    },
    {
        "name": "Gelato2"
    },
]
我想要的是:

[
    'name': [
       'Gelato1',
       'Gelato2',
    ] 
]
我试过:
recipes=Recipe.objects.all().values\u list('name',flat=True)

所以QuerySet有一个名字列表,但我得到了一个AttributeError。
如有任何建议,我将不胜感激。

如果您使用带有平面属性的值列表,则无需将其传递给序列化程序。对于您的输出,您可以将结果添加到响应中:

recipes =list(Recipe.objects.values_list('name', flat=True)
return Response({'output':recipes})

你能试试这个:
recipes=list(Recipe.objects.values\u list('name',flat=True
attributeerError:原始异常文本是:'str'对象没有属性'name'。如果你使用这个查询,你不应该使用序列化程序。你使用序列化程序了吗?好吧!看起来我做得太过分了!需要做的就是
返回响应(recipes)
。谢谢!好的,我添加这个作为对其他人的回答
recipes =list(Recipe.objects.values_list('name', flat=True)
return Response({'output':recipes})