Bab*_*abu 6 python django timezone countries django-countries
我使用Django的城市光(打火机版Django的城市)和Django 1.8.x. 它定义了Country,Region/State和City的抽象模型,以便我们可以扩展和添加自定义字段.例如,我们可以通过编写一个post_import信号处理程序说明添加时区城市在这里.
同样,我需要将字段添加capital到每个国家/地区.我对GeoDjango并不熟悉,我知道django-citiesapp的Country有资本领域.
小智 5
您需要设置自定义国家/地区模型.假设你有一个带有models.py的应用程序'mygeonames':
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)
Run Code Online (Sandbox Code Playgroud)
然后在settings.py中指定CITIES_LIGHT_APP_NAME = 'mygeonames',并将两个应用的'cities_light'和'mygeonames'放在一起INSTALLED_APPS
之后,您可以迁移数据库并运行 ./manage.py cities_light
最后你应该得到这样的东西:
In [1]: from mygeonames.models import Country
In [2]: cc = Country.objects.all()
In [3]: cc[0].capital
Out[3]: u'Paris'
Run Code Online (Sandbox Code Playgroud)
但您可能希望链接到Cities表.
| 归档时间: |
|
| 查看次数: |
1149 次 |
| 最近记录: |