|
@@ -208,8 +208,16 @@ def get_district(ip):
|
|
|
ip_addr_qs = IPAddr.objects.filter(ip=ip, is_geoip2=False).values('district', 'city')
|
|
|
if ip_addr_qs.exists():
|
|
|
district = ip_addr_qs[0]['district']
|
|
|
+ city = ip_addr_qs[0]['city']
|
|
|
+ # 区级信息为空或city_information表查询不到区级信息,使用城市数据
|
|
|
if district == '':
|
|
|
- district = ip_addr_qs[0]['city']
|
|
|
+ district = city
|
|
|
+ else:
|
|
|
+ city_information_qs = CityInformation.objects.filter(district=district)
|
|
|
+ if not city_information_qs.exists():
|
|
|
+ city_qs = CityInformation.objects.filter(district=city)
|
|
|
+ if city_qs.exists():
|
|
|
+ district = city
|
|
|
else:
|
|
|
ip_qs = IPQuery(ip)
|
|
|
district = ip_qs.district
|