Özel bir Ülke modeli kurmanız gerekir.
import cities_light
from django.db import models
from cities_light.settings import ICountry
from cities_light.receivers import connect_default_signals
from cities_light.abstract_models import (AbstractCountry, AbstractRegion,
AbstractCity)
class Country(AbstractCountry):
capital = models.CharField(max_length=50)
connect_default_signals(Country)
class Region(AbstractRegion):
pass
connect_default_signals(Region)
class City(AbstractCity):
pass
connect_default_signals(City)
def process_country_import(sender, instance, items, **kwargs):
instance.capital = items[ICountry.capital]
cities_light.signals.country_items_post_import.connect(process_country_import)
Sonra settings.py size CITIES_LIGHT_APP_NAME = 'mygeonames'
belirtmelidir ve sonra INSTALLED_APPS
her iki uygulamalarınızın cities_light 've 'mygeonames' koyun: Eğer models.py ile bir uygulama 'mygeonames' kullandığınızı varsayalım Eğer DB geçirmek ve sonunda ./manage.py cities_light
çalışabileceği böyle bir şey almalısınız:
In [1]: from mygeonames.models import Country
In [2]: cc = Country.objects.all()
In [3]: cc[0].capital
Out[3]: u'Paris'
Ancak bunun yerine Şehirler tablosuyla bağlantı kurmak isteyebilirsiniz.
Mükemmel! 'ICountry.capital' aradığım anahtardı. Ve evet, başkent ismiyle City nesnesini sorgulamam gerekiyor. – Babu