province city url

This commit is contained in:
曹前明 2022-05-18 17:52:06 +08:00
parent 32c7d19c82
commit a48c4204a9
5 changed files with 36 additions and 9 deletions

View File

@ -86,6 +86,7 @@ class QActionViewSet(PageOrNot, ListModelMixin, DestroyModelMixin, RetrieveModel
perms_map = {'get': 'qtask_view'} perms_map = {'get': 'qtask_view'}
queryset = QAction.objects.select_related('file', 'atype', 'afield', 'qtask', 'belong_dept') queryset = QAction.objects.select_related('file', 'atype', 'afield', 'qtask', 'belong_dept')
filterset_fields = ['qtask', 'belong_dept', 'atype', 'afield'] filterset_fields = ['qtask', 'belong_dept', 'atype', 'afield']
serializer_class = QActionListSerializer
def get_serializer_class(self): def get_serializer_class(self):
if self.action == 'list': if self.action == 'list':
@ -143,6 +144,7 @@ class QActionViewSet(PageOrNot, ListModelMixin, DestroyModelMixin, RetrieveModel
serializer.save(create_by=user, belong_dept=user.dept) serializer.save(create_by=user, belong_dept=user.dept)
vdata = serializer.validated_data vdata = serializer.validated_data
cal_count(vdata['qtask'], user.dept) cal_count(vdata['qtask'], user.dept)
# 更新资质库
return Response() return Response()
@action(methods=['post'], detail=False, @action(methods=['post'], detail=False,

View File

@ -2,7 +2,7 @@ import re
from rest_framework import serializers from rest_framework import serializers
from .models import Organization, Permission, Role, User, Position, DictType, Dict, File from .models import City, Organization, Permission, Province, Role, User, Position, DictType, Dict, File
class FileSerializer(serializers.ModelSerializer): class FileSerializer(serializers.ModelSerializer):
@ -152,4 +152,16 @@ class OrganizationSimpleSerializer(serializers.ModelSerializer):
class FileSimpleSerializer(serializers.ModelSerializer): class FileSimpleSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = File model = File
fields = ['id', 'name', 'path', 'file'] fields = ['id', 'name', 'path', 'file']
class ProvinceSerializer(serializers.ModelSerializer):
class Meta:
model = Province
fields = '__all__'
class CitySerializer(serializers.ModelSerializer):
class Meta:
model = City
fields = '__all__'

View File

@ -1,5 +1,6 @@
from django.urls import path, include from django.urls import path, include
from .views import UserViewSet, OrganizationViewSet, PermissionViewSet, RoleViewSet, PositionViewSet, TestView, DictTypeViewSet, DictViewSet, sendMsg
from .views import CityViewSet, ProviceViewSet, UserViewSet, OrganizationViewSet, PermissionViewSet, RoleViewSet, PositionViewSet, TestView, DictTypeViewSet, DictViewSet, sendMsg
from rest_framework import routers from rest_framework import routers
@ -11,6 +12,8 @@ router.register('role', RoleViewSet, basename="role")
router.register('position', PositionViewSet, basename="position") router.register('position', PositionViewSet, basename="position")
router.register('dicttype', DictTypeViewSet, basename="dicttype") router.register('dicttype', DictTypeViewSet, basename="dicttype")
router.register('dict', DictViewSet, basename="dict") router.register('dict', DictViewSet, basename="dict")
router.register('province', ProviceViewSet, basename="province")
router.register('city', CityViewSet, basename="city")
urlpatterns = [ urlpatterns = [
path('', include(router.urls)), path('', include(router.urls)),
path('sendmsg/', sendMsg.as_view()), path('sendmsg/', sendMsg.as_view()),

View File

@ -27,13 +27,13 @@ from utils.pagination import PageOrNot
from utils.queryset import get_child_queryset2 from utils.queryset import get_child_queryset2
from .filters import UserFilter from .filters import UserFilter
from .models import (Dict, DictType, File, Message, Organization, Permission, from .models import (City, Dict, DictType, File, Message, Organization, Permission,
Position, Role, User, UserThird) Position, Province, Role, User, UserThird)
from .permission import RbacPermission, get_permission_list from .permission import RbacPermission, get_permission_list
from .permission_data import RbacFilterSet from .permission_data import RbacFilterSet
from .serializers import (DictSerializer, DictTypeSerializer, FileSerializer, from .serializers import (CitySerializer, DictSerializer, DictTypeSerializer, FileSerializer,
OrganizationSerializer, PermissionSerializer, OrganizationSerializer, PermissionSerializer,
PositionSerializer, RoleSerializer, PositionSerializer, ProvinceSerializer, RoleSerializer,
UserCreateSerializer, UserListSerializer, UserCreateSerializer, UserListSerializer,
UserModifySerializer) UserModifySerializer)
import requests import requests
@ -385,9 +385,19 @@ class WXMPlogin(APIView):
class ProviceViewSet(PageOrNot, ListModelMixin, GenericViewSet):
queryset = Province.objects.all()
serializer_class = ProvinceSerializer
ordering = 'id'
class CityViewSet(PageOrNot, ListModelMixin, GenericViewSet):
queryset = City.objects.all()
serializer_class = CitySerializer
ordeing = 'id'
class FileViewSet(ModelViewSet): class FileViewSet(ModelViewSet):
""" """
文件增删改查 文件增删改查

View File

@ -10,8 +10,8 @@ class PageOrNot:
def paginate_queryset(self, queryset): def paginate_queryset(self, queryset):
if (self.paginator is None): if (self.paginator is None):
return None return None
elif self.request.query_params.get('pageoff', None) and queryset.count()<500: elif (self.request.query_params.get('pageoff', None) or self.request.query_params.get('page', 0)) and queryset.count()<500:
return None return None
elif self.request.query_params.get('pageoff', None) and queryset.count()>=500: elif (self.request.query_params.get('pageoff', None) or self.request.query_params.get('page', 0)) and queryset.count()>=500:
raise ParseError('单次请求数据量大,请求中止') raise ParseError('单次请求数据量大,请求中止')
return self.paginator.paginate_queryset(queryset, self.request, view=self) return self.paginator.paginate_queryset(queryset, self.request, view=self)