获取子类别对象Django python

2024-04-20 16:40:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试获取具有类别的子列表

serializers.py:

class ChildSerializer(serializers.HyperlinkedModelSerializer):
    category_id = serializers.PrimaryKeyRelatedField(queryset =Category.objects.all(), 
source = 'category.id')
    class Meta:
        model = SubCategory
        fields = ('url','id', 'sub_category_name', 'category_id')
    def create(self, validate_data):
        #subject = SubCategory.objects.create
        subject = SubCategory.objects.create(Category=validated_data['category']['id'], sub_category_name=validated_data['sub_category_name'])

        return SubCategory


class CategorySerializers(serializers.ModelSerializer):
    children = ChildSerializer(many=True, read_only=True)

    class Meta:
        model = Category
        fields = ('id','name','slug','children')

views.py:

class CategoryView(viewsets.ModelViewSet):
    queryset = Category.objects.all()
    serializer_class = serializers.CategorySerializers

这是api输出:

  {
    "id": 30,
    "name": "akera",
    "slug": "akera",
    "children": []
},
{
    "id": 31,
    "name": "sda",
    "slug": "sd",
    "children": []
},
{
    "id": 6,
    "name": "Technology",
    "slug": "12",
    "children": [
        29,
        30,
        31
    ]
},
{
    "id": 7,
    "name": "Festival",
    "slug": "12",
    "children": []
},

目前它只获取子类别的类别id。我想获取子类别名称和类别id


Tags: namepyiddataobjectscreate类别class