您当前的位置: 首页 > 

IT之一小佬

暂无认证

  • 0浏览

    0关注

    1192博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

规格选项表管理之查询获取规格选项表列表数据

IT之一小佬 发布时间:2021-07-30 17:04:13 ,浏览量:0

规格选项表管理

在规格选项表中我们需要对规格选项表数据进行增删改查操作,这时候我们可以借助于视图集中的ModelViewset来完成相应的操作

查询获取规格选项表列表数据 接口分析

请求方式: GET /meiduo_admin/specs/options/

router = DefaultRouter()
router.register('specs/options', options.OptionsView, base_name='options')
print(router.urls)
urlpatterns += router.urls

请求参数: 通过请求头传递jwt token数据。

返回数据: JSON

  [
        {
            "id": "选项id",
            "value": "选项名称",
            "spec": "规格名称",
            "spec_id": "规格id"
        },
        ...
    ]
返回值类型是否必须说明idint是选项idvalue数组是选项名称specstr是规格名称spec_idint是规格id 后端实现

from rest_framework.viewsets import ModelViewSet
from meiduo_admin.serializers.options import OptionSerialzier
from goods.models import SpecificationOption
from meiduo_admin.utils import UserPageNum


class OptionsView(ModelViewSet):
    """
            规格选项表的增删改查
    """
    serializer_class = OptionSerialzier
    queryset = SpecificationOption.objects.all()
    pagination_class = UserPageNum

序列化器的定义

from rest_framework import serializers
from goods.models import SpecificationOption


class OptionSerialzier(serializers.ModelSerializer):
    # 嵌套返回规格名称
    spec = serializers.StringRelatedField(read_only=True)
    # 返回规格id
    spec_id = serializers.IntegerField()

    class Meta:
        model = SpecificationOption  # 规格选项表中的spec字段关联了规格表
        fields = "__all__"

 运行效果:

关注
打赏
1665675218
查看更多评论
立即登录/注册

微信扫码登录

0.0407s