Эх сурвалжийг харах

device_user的username添加索引

tanghongbin 4 жил өмнө
parent
commit
e24539b3d0

+ 14 - 28
Controller/UserController.py

@@ -1859,23 +1859,12 @@ class InitInfoView(View):
                     update(**update_dict)
             if appBundleId:
                 user_ex_qs = UserExModel.objects.filter(userID_id=userID)
-                # redisObject = RedisObject(db=6)
-                # ip = CommonService.get_ip_address(request)
-                # key = 'ip_country_{ip}'.format(ip=ip)
-                # data = redisObject.get_data(key=key)
-                # if data:
-                #     country = data
-                # else:
-                #     country = CommonService.getAddr(ip)
-                #     redisObject.set_data(key=key, val=country, expire=3600)
-                country = ''
                 user_ex = None
                 if user_ex_qs.exists():
                     update_dict = {
                         'updTime': now_time,
                         'appBundleId': appBundleId,
-                        'region': lang,
-                        'country': country
+                        'region': lang
                     }
                     user_ex_qs.update(**update_dict)
                     user_ex = user_ex_qs[0]
@@ -1885,8 +1874,7 @@ class InitInfoView(View):
                         'updTime': now_time,
                         'appBundleId': appBundleId,
                         'userID_id': userID,
-                        'region': lang,
-                        'country': country
+                        'region': lang
                     }
                     user_ex = UserExModel.objects.create(**create_dict)
 
@@ -1907,15 +1895,6 @@ class InitInfoView(View):
         appBundleId = request_dict.get('appBundleId', None)
         lang = request_dict.get('lang', '')  # 语言区域
         if username and appBundleId:
-            redisObject = RedisObject(db=6)
-            ip = CommonService.get_ip_address(request)
-            key = 'ip_country_{ip}'.format(ip=ip)
-            data = redisObject.get_data(key=key)
-            if data:
-                country = data
-            else:
-                country = CommonService.getAddr(ip)
-                redisObject.set_data(key=key, val=country, expire=3600)
             user_qs = Device_User.objects.filter(username=username)
             if user_qs.exists():
                 user = user_qs[0]
@@ -1925,20 +1904,27 @@ class InitInfoView(View):
                     update_dict = {
                         'updTime': now_time,
                         'appBundleId': appBundleId,
-                        'region': lang,
-                        'country': country
+                        'region': lang
                     }
                     user_ex_qs.update(**update_dict)
+                    user_ex = user_ex_qs[0]
                 else:
                     create_dict = {
                         'addTime': now_time,
                         'updTime': now_time,
                         'appBundleId': appBundleId,
                         'userID_id': user.userID,
-                        'region': lang,
-                        'country': country
+                        'region': lang
                     }
-                    UserExModel.objects.create(**create_dict)
+                    user_ex = UserExModel.objects.create(**create_dict)
+                country_ip_qs = CountryIPModel.objects.filter(user_ex_id=user_ex.id)
+                if not country_ip_qs.exists():
+                    countryIp = CountryIPModel(
+                        ip=CommonService.get_ip_address(request),
+                        add_time=now_time,
+                        user_ex_id=user_ex_qs[0].id
+                    )
+                    countryIp.save()
                 return response.json(0)
             else:
                 return response.json(104)

+ 1 - 1
Model/models.py

@@ -125,7 +125,7 @@ class Device_User(AbstractBaseUser):
                               verbose_name=u'用户ID', unique=True)
     role = models.ManyToManyField(to='Role', blank=True, verbose_name=u'用户角色', db_table='user_role')
 
-    username = models.CharField(max_length=64, verbose_name=u'用户名', default='', blank=True)
+    username = models.CharField(max_length=64, db_index=True, verbose_name=u'用户名', default='', blank=True)
     password = models.CharField(max_length=128, verbose_name=u'密码')
     userEmail = models.EmailField(max_length=64, verbose_name=u'邮箱', default='', blank=True)
     # 实际的路径就是 MEDIA_ROOT/Image/filename,所以可用upload_to来指定文件存放的前缀路径