|
|
|
|
import logging
|
|
|
|
|
from rest_framework import viewsets
|
|
|
|
|
|
|
|
|
|
from ERP_5.utils.base_views import MultipleDestroyMixin
|
|
|
|
|
from basic_info.models import Nation, Province, City
|
|
|
|
|
|
|
|
|
|
from basic_info.serializer.area_serializer import NationSerializer, ProvinceSerializer, CitySerializer
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
logger = logging.getLogger('my')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class NationView(viewsets.ModelViewSet, MultipleDestroyMixin):
|
|
|
|
|
"""
|
|
|
|
|
create:
|
|
|
|
|
国家--新增
|
|
|
|
|
|
|
|
|
|
国家新增, status: 201(成功), return: 新增国家信息
|
|
|
|
|
|
|
|
|
|
destroy:
|
|
|
|
|
国家--删除
|
|
|
|
|
|
|
|
|
|
国家删除, status: 204(成功), return: None
|
|
|
|
|
|
|
|
|
|
multiple_delete:
|
|
|
|
|
国家--批量删除,必传参数:ids=[1,2,3,4...]
|
|
|
|
|
|
|
|
|
|
国家批量删除, status: 204(成功), return: None
|
|
|
|
|
|
|
|
|
|
update:
|
|
|
|
|
国家--修改,只是修改国家名字。
|
|
|
|
|
|
|
|
|
|
国家修改, status: 200(成功), return: 修改后的国家信息
|
|
|
|
|
|
|
|
|
|
partial_update:
|
|
|
|
|
国家--局部修改,只是修改国家名字。
|
|
|
|
|
|
|
|
|
|
国家局部修改, status: 200(成功), return: 修改后的国家信息
|
|
|
|
|
|
|
|
|
|
list:
|
|
|
|
|
国家--获取列表
|
|
|
|
|
|
|
|
|
|
国家列表信息, status: 200(成功), return: 国家信息列表
|
|
|
|
|
|
|
|
|
|
retrieve:
|
|
|
|
|
查询某一个国家
|
|
|
|
|
|
|
|
|
|
查询指定ID的国家, status: 200(成功), return: 用户国家
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
queryset = Nation.objects.all()
|
|
|
|
|
serializer_class = NationSerializer
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ProvinceView(viewsets.ModelViewSet, MultipleDestroyMixin):
|
|
|
|
|
"""
|
|
|
|
|
create:
|
|
|
|
|
省份--新增
|
|
|
|
|
|
|
|
|
|
省份新增, status: 201(成功), return: 新增省份信息
|
|
|
|
|
|
|
|
|
|
destroy:
|
|
|
|
|
省份--删除
|
|
|
|
|
|
|
|
|
|
省份删除, status: 204(成功), return: None
|
|
|
|
|
|
|
|
|
|
multiple_delete:
|
|
|
|
|
省份--批量删除,必传参数:ids=[1,2,3,4...]
|
|
|
|
|
|
|
|
|
|
省份批量删除, status: 204(成功), return: None
|
|
|
|
|
|
|
|
|
|
update:
|
|
|
|
|
省份--修改,只是修改省份名字。
|
|
|
|
|
|
|
|
|
|
省份修改, status: 200(成功), return: 修改后的省份信息
|
|
|
|
|
|
|
|
|
|
partial_update:
|
|
|
|
|
省份--局部修改,只是修改省份名字。
|
|
|
|
|
|
|
|
|
|
省份局部修改, status: 200(成功), return: 修改后的省份信息
|
|
|
|
|
|
|
|
|
|
list:
|
|
|
|
|
省份--获取列表,请求参数为nid(国家ID), 没有传参数:表示所有省份列表。nid=x 表示查询该国家的省份列表
|
|
|
|
|
|
|
|
|
|
省份列表信息, status: 200(成功), return: 省份信息列表
|
|
|
|
|
|
|
|
|
|
retrieve:
|
|
|
|
|
查询某一个省份
|
|
|
|
|
|
|
|
|
|
查询指定ID的省份, status: 200(成功), return: 用户省份
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
queryset = Province.objects.all()
|
|
|
|
|
serializer_class = ProvinceSerializer
|
|
|
|
|
|
|
|
|
|
def get_queryset(self):
|
|
|
|
|
# 请求参数为nid(国家ID), 没有传参数:表示所有省份列表。nid=x 表示查询该国家的省份列表
|
|
|
|
|
nid = self.request.query_params.get('nid', None)
|
|
|
|
|
if nid:
|
|
|
|
|
nid = int(nid)
|
|
|
|
|
return Province.objects.filter(nation__id=nid).all()
|
|
|
|
|
else:
|
|
|
|
|
return Province.objects.all()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class CityView(viewsets.ModelViewSet, MultipleDestroyMixin):
|
|
|
|
|
"""
|
|
|
|
|
create:
|
|
|
|
|
城市--新增
|
|
|
|
|
|
|
|
|
|
城市新增, status: 201(成功), return: 新增城市信息
|
|
|
|
|
|
|
|
|
|
destroy:
|
|
|
|
|
城市--删除
|
|
|
|
|
|
|
|
|
|
城市删除, status: 204(成功), return: None
|
|
|
|
|
|
|
|
|
|
multiple_delete:
|
|
|
|
|
城市--批量删除,必传参数:ids=[1,2,3,4...]
|
|
|
|
|
|
|
|
|
|
城市批量删除, status: 204(成功), return: None
|
|
|
|
|
|
|
|
|
|
update:
|
|
|
|
|
城市--修改,只是修改城市名字。
|
|
|
|
|
|
|
|
|
|
城市修改, status: 200(成功), return: 修改后的城市信息
|
|
|
|
|
|
|
|
|
|
partial_update:
|
|
|
|
|
城市--局部修改,只是修改城市名字。
|
|
|
|
|
|
|
|
|
|
城市局部修改, status: 200(成功), return: 修改后的城市信息
|
|
|
|
|
|
|
|
|
|
list:
|
|
|
|
|
城市--获取列表,请求参数为pid(省份ID), 没有传参数:表示所有城市列表。pid=x 表示查询该省份下的城市列表
|
|
|
|
|
|
|
|
|
|
城市列表信息, status: 200(成功), return: 城市信息列表
|
|
|
|
|
|
|
|
|
|
retrieve:
|
|
|
|
|
查询某一个城市
|
|
|
|
|
|
|
|
|
|
查询指定ID的城市, status: 200(成功), return: 用户城市
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
queryset = City.objects.all()
|
|
|
|
|
serializer_class = CitySerializer
|
|
|
|
|
|
|
|
|
|
def get_queryset(self):
|
|
|
|
|
# 请求参数为pid(省份ID), 没有传参数:表示所有城市列表。pid=x 表示查询该省份下的城市列表
|
|
|
|
|
pid = self.request.query_params.get('pid', None)
|
|
|
|
|
if pid:
|
|
|
|
|
pid = int(pid)
|
|
|
|
|
return City.objects.filter(province__id=pid).all()
|
|
|
|
|
else:
|
|
|
|
|
return City.objects.all()
|