簡體   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