博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue + Django 2.0.6 学习笔记 9.7 用户收货地址列表页接口开发
阅读量:4127 次
发布时间:2019-05-25

本文共 2440 字,大约阅读时间需要 8 分钟。

跟上一节差不多

serializer

from .models import UserLeavingMessage, UserFav, UserAddressclass AddressSerialer(serializers.ModelSerializer):    user = serializers.HiddenField(        default=serializers.CurrentUserDefault()    )    add_time = serializers.DateTimeField(read_only=True, format='%Y-%m-%d %H:%M')    class Meta:        model = UserAddress        fields = ('user', 'province', 'city', 'district', 'address', 'signer_name', 'signer_mobile', 'add_time')

修改models.py 

class UserAddress(models.Model):    """    用户收货地址    """    user = models.ForeignKey(User, verbose_name=u'用户', on_delete=models.CASCADE)# 添加了省份和城市,为了方便前端调用    province = models.CharField(max_length=100, default="", verbose_name=u'省份')    city = models.CharField(max_length=100, default="", verbose_name=u'城市')    district = models.CharField(max_length=100, default="", verbose_name=u'区域')    address = models.CharField(max_length=100, default="", verbose_name=u'详细地址')    signer_name = models.CharField(max_length=100, default="", verbose_name=u'签收人')    signer_mobile = models.CharField(max_length=11, default="", verbose_name=u'电话')    add_time = models.DateTimeField(default=datetime.now, verbose_name=u'添加时间')    class Meta:        verbose_name = u'收货地址'        verbose_name_plural = verbose_name

views.py

class AddressViewset(viewsets.ModelViewSet):    """    收货地址管理    list:        获取收货地址    create:        添加收货地址    update:        更新收货地址    delete:        删除收货地址    """    serializer_class = AddressSerialer    permission_classes = (IsAuthenticated,)    authentication_classes = (JSONWebTokenAuthentication, SessionAuthentication)    def get_queryset(self):        return UserAddress.objects.filter(user=self.request.user)

说明: 因为这次增删改查都涉及到了。所以直接继承ModelViewSet就可以了 不用全部都写一遍过去

源码:

from .serializers import UserFavSerializer, UserFavDetailSerializer, LeavingMessageSerializer, AddressSerialerclass ModelViewSet(mixins.CreateModelMixin,                   mixins.RetrieveModelMixin,                   mixins.UpdateModelMixin,                   mixins.DestroyModelMixin,                   mixins.ListModelMixin,                   GenericViewSet):    """    A viewset that provides default `create()`, `retrieve()`, `update()`,    `partial_update()`, `destroy()` and `list()` actions.    """    pass

urls.py

from user_operation.views import UserFavViewset, LeavingMessageViewset, AddressViewset#收货地址router.register('address', AddressViewset, base_name='address')

程序效果:

第九章完结

转载地址:http://ksepi.baihongyu.com/

你可能感兴趣的文章
如何使用BBC英语学习频道
查看>>
spring事务探索
查看>>
浅谈Spring声明式事务管理ThreadLocal和JDKProxy
查看>>
初识xsd
查看>>
java 设计模式-职责型模式
查看>>
构造型模式
查看>>
svn out of date 无法更新到最新版本
查看>>
java杂记
查看>>
RunTime.getRuntime().exec()
查看>>
Oracle 分组排序函数
查看>>
删除weblogic 域
查看>>
VMware Workstation 14中文破解版下载(附密钥)(笔记)
查看>>
日志框架学习
查看>>
日志框架学习2
查看>>
SVN-无法查看log,提示Want to go offline,时间显示1970问题,error主要是 url中 有一层的中文进行了2次encode
查看>>
NGINX
查看>>
Qt文件夹选择对话框
查看>>
1062 Talent and Virtue (25 分)
查看>>
1061 Dating (20 分)
查看>>
1060 Are They Equal (25 分)
查看>>