gpt4 book ai didi

django - 'TreeQuerySet' 对象没有属性 'name'

转载 作者:行者123 更新时间:2023-12-05 04:54:28 24 4
gpt4 key购买 nike

我在将“TreeQuerySet”对象转换为 QuerySet 对象时遇到问题

这是我在使用 DRF 序列化时遇到的错误

尝试在序列化程序 SubCategoriesSerializer 上获取字段名称的值时出现 AttributeError。序列化程序字段的命名可能不正确,并且与 TreeQuerySet 实例上的任何属性或键都不匹配。原始异常文本为:

'TreeQuerySet' object has no attribute 'name'.

序列化器

class SubCategorySerializer(serializers.ModelSerializer):

class Meta:
model = Category
fields = ('id',
'name',
'slug',
'views',
'title',
'description',
'avatar',
'color'
)

API View

category = Category.objects.get(pk=1)
categories = category.get_children()
categories_serializer = SubCategorySerializer(categories, context={'request': request})

最佳答案

TreeQuerySet 实际上是 QuerySet

的子类
categories = category.get_children()

返回多个 Category 对象,但您正在尝试序列化单个实例,而不是您应该在序列化器中使用附加参数序列化一个QuerySet >很多=真

categories_serializer = SubCategorySerializer(categories, many=true, context={'request': request})

关于django - 'TreeQuerySet' 对象没有属性 'name',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65752497/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com