You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

25 lines
1.2 KiB

# -*- coding: utf-8 -*-
import MySQLdb
from MySQLdb.cursors import DictCursor
from django.core.management.base import BaseCommand, CommandError
from country.models import Country
class Command(BaseCommand):
def handle(self, *args, **options):
# local database(will not work on production)
db = MySQLdb.connect(host="localhost",
user="root",
passwd="qazedc",
db="test",
charset='utf8',
cursorclass=DictCursor)
cursor = db.cursor()
# !!!database can change
sql = "SELECT country_code as code, geo_lat as latitude, geo_lng as longitude FROM test.country_country LEFT JOIN localization.meta_location ON test.country_country.country_code=localization.meta_location.iso COLLATE utf8_unicode_ci WHERE localization.meta_location.type='CO' AND geo_lat IS NOT NULL;"
cursor.execute(sql)
result = cursor.fetchall()
for item in result:
updates = Country.objects.filter(country_code=item['code']).update(latitude=item['latitude'], longitude=item['longitude'])
if updates:
print(item['code'])