Prechádzať zdrojové kódy

优化app设备类型查询(版本号)

guanhailong 3 rokov pred
rodič
commit
a9524d5cec

+ 13 - 9
AdminController/DeviceManagementController.py

@@ -458,16 +458,20 @@ class DeviceManagement(View):
         version_number_qs = AppVersionNumber.objects.values('version_number')
         test_list = [item[key] for item in version_number_qs for key in item]
         if (version_number > test_list[-1] or version_number < test_list[0]):
-            return False
-        pos = bisect_left(test_list, version_number)
-        if pos == 0:
-            return test_list[0]
-        if pos == len(test_list):
-            return test_list[-1]
-        before = test_list[pos - 1]
-        version_number_qs = AppVersionNumber.objects.filter(version_number=before).values('id')
-        try:
+            version_number_qs = AppVersionNumber.objects.filter().values('id').order_by('id')
+            total_list = [item[key] for item in version_number_qs for key in item]
+            version_number_id = total_list[-1]
+        else:
+            pos = bisect_left(test_list, version_number)
+            if pos == 0:
+                return test_list[0]
+            if pos == len(test_list):
+                return test_list[-1]
+            before = test_list[pos - 1]
+            version_number_qs = AppVersionNumber.objects.filter(version_number=before).values('id')
             version_number_id = version_number_qs[0]['id']
+        try:
+
             app_bundle_qs = AppBundle.objects.filter(app_bundle_id=app_bundle_id,
                                                      app_device_type__devicenamelanguage__lang=lang,
                                                      app_device_type__app_version_number_id=version_number_id). \