繁体   English   中英

如何序列化字符串列表

[英]How to serialize a list of strings

我的序列化程序有一个相当简单的问题。
我的观点:

@api_view(['GET'])
def get_recipes_list(request):
    recipes = Recipe.objects.all()

    serializer = RecipeListSerializer(recipes, context={'request': request}, many=True)
    return Response(serializer.data)

我的序列化器:

class RecipeListSerializer(serializers.Serializer):
    name = serializers.CharField()

Output 我得到:

[
    {
        "name": "Gelato1"
    },
    {
        "name": "Gelato2"
    },
]

我想要的是:

[
    'name': [
       'Gelato1',
       'Gelato2',
    ] 
]

我试过: recipes = Recipe.objects.all().values_list('name', flat=True)
这样 QuerySet 有一个名称列表,但我得到了一个 AttributeError。 我将不胜感激任何建议。

如果您使用带有平面属性的 values_list,则不需要将其传递给序列化程序。对于您的 output,您可以将结果添加到响应:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM