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})