drf完成地址管理

地址的增删改查都写在一个函数里面所以使用viewsets.ModelViewSet
在这里插入图片描述
可以看到他继承了我们所有的增删改查
serializer:

class AddressSerializer(serializers.ModelSerializer):
    signer_mobile=serializers.CharField(max_length=11,help_text="联系电话")
    # 获取当前登陆的用户
    user = serializers.HiddenField(
        default=serializers.CurrentUserDefault()
    )
    def validate_signer_mobile(self,signer_mobile):
        """
        验证手机号码
        :param data:
        :return:
        """

        # 验证手机号码是否合法
        if  not re.match(REGEX_MOBILE,signer_mobile):
            raise serializers.ValidationError("手机号码非法")

    class Meta:
        model = UserAddress
        fields = ("id","user", "province", "city","district","address","signer_name","signer_mobile")

view:

class AddressViewSet(viewsets.ModelViewSet):
    """
    地址管理
    create:添加地址
    destroy:删除地址
    list:查询地址
    update:修改地址
    """
    serializer_class = AddressSerializer
    permission_classes = (IsAuthenticated, IsOwnerOrReadOnly)
    authentication_classes = (JSONWebTokenAuthentication, SessionAuthentication)

    def get_queryset(self):
        return UserAddress.objects.filter(user=self.request.user)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值