浏览代码

device_domain_region serial_number字段增加索引,优化设备根据ip获取域名V2接口

locky 10 月之前
父节点
当前提交
eeba2f3a17
共有 2 个文件被更改,包括 3 次插入4 次删除
  1. 2 3
      Controller/DeviceConfirmRegion.py
  2. 1 1
      Model/models.py

+ 2 - 3
Controller/DeviceConfirmRegion.py

@@ -92,11 +92,9 @@ class ConfirmRegionV2(View):
         if not serial_number:
         if not serial_number:
             return response.json(444)
             return response.json(444)
         try:
         try:
-            data_dict = {'serial_number': serial_number}
+            data_dict = {'ip': ip}
             device_domain_region_qs = DeviceDomainRegionModel.objects.filter(serial_number=serial_number)
             device_domain_region_qs = DeviceDomainRegionModel.objects.filter(serial_number=serial_number)
 
 
-            data_dict['ip'] = ip
-
             # 获取国家编码
             # 获取国家编码
             ip_addr_qs = IPAddr.objects.filter(ip=ip, is_geoip2=False).values('country_code', 'region')
             ip_addr_qs = IPAddr.objects.filter(ip=ip, is_geoip2=False).values('country_code', 'region')
             if ip_addr_qs.exists():
             if ip_addr_qs.exists():
@@ -134,6 +132,7 @@ class ConfirmRegionV2(View):
             if device_domain_region_qs.exists():
             if device_domain_region_qs.exists():
                 device_domain_region_qs.update(**data_dict)
                 device_domain_region_qs.update(**data_dict)
             else:
             else:
+                data_dict['serial_number'] = serial_number
                 device_domain_region_qs.create(**data_dict)
                 device_domain_region_qs.create(**data_dict)
 
 
             LOGGER.info('获取域名V2接口信息:{},{}'.format(serial_number, data_dict))
             LOGGER.info('获取域名V2接口信息:{},{}'.format(serial_number, data_dict))

+ 1 - 1
Model/models.py

@@ -3422,7 +3422,7 @@ class DeviceDomainModel(models.Model):
 
 
 class DeviceDomainRegionModel(models.Model):
 class DeviceDomainRegionModel(models.Model):
     id = models.AutoField(primary_key=True, verbose_name='主键')
     id = models.AutoField(primary_key=True, verbose_name='主键')
-    serial_number = models.CharField(default='', max_length=9, verbose_name='序列号')
+    serial_number = models.CharField(default='', max_length=9, db_index=True, verbose_name='序列号')
     ip = models.CharField(default='', max_length=32, verbose_name='ip')
     ip = models.CharField(default='', max_length=32, verbose_name='ip')
     country_code = models.CharField(default='', max_length=8, verbose_name='国家编码')
     country_code = models.CharField(default='', max_length=8, verbose_name='国家编码')
     region_id = models.SmallIntegerField(default=0, verbose_name='对应tb_region表id')
     region_id = models.SmallIntegerField(default=0, verbose_name='对应tb_region表id')