[英]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.