Преглед на файлове

优化查询用户信息接口

peng преди 1 година
родител
ревизия
ecab1ca139
променени са 1 файла, в които са добавени 20 реда и са изтрити 20 реда
  1. 20 20
      AdminController/UserManageController.py

+ 20 - 20
AdminController/UserManageController.py

@@ -346,28 +346,28 @@ class UserManagement(View):
 
         page = int(pageNo)
         line = int(pageSize)
+
         try:
-            if username or NickName or phone or userEmail or countryName:
-                # 条件查询
-                if username:
-                    device_user_qs = Device_User.objects.filter(username__icontains=username)
-                if NickName:
-                    device_user_qs = Device_User.objects.filter(NickName__icontains=NickName)
-                if phone:
-                    device_user_qs = Device_User.objects.filter(phone__icontains=phone)
-                if userEmail:
-                    device_user_qs = Device_User.objects.filter(userEmail__icontains=userEmail)
-                if countryName:
-                    id_list = CountryModel.objects.filter(country_name=countryName).values_list('id', flat=True)
-                    device_user_qs = Device_User.objects.filter(region_country__in=id_list)
-                if not device_user_qs.exists():
-                    return response.json(0)
-                total = len(device_user_qs)
-                device_users = device_user_qs[(page - 1) * line:page * line]
+            device_user_qs = Device_User.objects.all()
+            # 条件查询
+            if username:
+                device_user_qs = device_user_qs.filter(username__icontains=username)
+            if NickName:
+                device_user_qs = device_user_qs.filter(NickName__icontains=NickName)
+            if phone:
+                device_user_qs = device_user_qs.filter(phone__icontains=phone)
+            if userEmail:
+                device_user_qs = device_user_qs.filter(userEmail__icontains=userEmail)
+            if countryName:
+                country_qs = CountryModel.objects.filter(country_name=countryName).values('id')
+                if not country_qs:
+                    return response.json(10, '国家不存在')
+                device_user_qs = device_user_qs.filter(region_country=country_qs[0]['id'])
+            if not device_user_qs.exists():
+                return response.json(0)
+            total = device_user_qs.count()
+            device_users = device_user_qs[(page - 1) * line:page * line]
 
-            else:
-                total = Device_User.objects.filter().count()
-                device_users = Device_User.objects.filter()[(page - 1) * line:page * line]
             user_list = []
             for device_user in device_users:
                 role = device_user.role.first()