Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
django application to manage administrative geographical info (country, city, region ...)
Python
Failed to load latest commit information.
datas added some fixtures
docs bump 0.8
geo loaders now work ordered by name
tests removed django-modeltranslation dependency
.gitignore updates gitignore
.travis.yml removed django-modeltranslation dependency
AUTHORS reinit
CHANGES start 0.9
LICENSE fixed LICENSE
MANIFEST.in fixes MANIFEST
Makefile django 1.7 compatibility
README.rst updates README
setup.cfg django 1.7 compatibility
setup.py * fixed migrations
tox.ini

README.rst

django-geo

A Django application which manage administrative geographical data. It use Modified Preorder Tree Traversal, provided by django-mptt https://github.com/django-mptt/django-mptt/

Geo is not intented to replace a GIS, but to manage all the cases where you have administrative trees, with a strict/lazy hierarchy.

Models

  • Country
  • Area
  • Location
  • AdministrativeAreaType
  • Currency

Examples

Three levels
italy = Country.objects.get(iso_code='IT')
regione, __ = italy.administrativeareatype_set.get_or_create(name='Regione')
provincia,__ = italy.administrativeareatype_set.get_or_create(name='Provincia',
                                                              parent=regione)
comune, __= italy.administrativeareatype_set.get_or_create(name='Comune',
                                                           parent=provincia)
lazio, __ = AdministrativeArea.objects.get_or_create(country=italy,
                                                     name ='Lazio',
                                                     type=regione)
roma_provincia, __ = AdministrativeArea.objects.get_or_create(country=italy,
                                                              name ='Provincia di Roma',
                                                              type=provincia,
                                                              parent=lazio)
roma_comune, __ = AdministrativeArea.objects.get_or_create(country=italy,
                                                            name ='Comune di Roma',
                                                            type=comune,
                                                            parent=roma_provincia)
city, __ = LocationType.objects.get_or_create(description='CITY')
roma, __  = Location.objects.get_or_create(country=italy,
                                            name ='Roma',
                                            type=city,
                                            area=roma_comune)

Two levels

us = Country.objects.get(iso_code='US')
state, __ = italy.administrativeareatype_set.get_or_create(name='State')
county,__ = italy.administrativeareatype_set.get_or_create(name='County',
                                                            parent=state)
ny, __ = AdministrativeArea.objects.get_or_create(country=us,
                                                    name ='New York',
                                                    type=state)
columbia, __ = AdministrativeArea.objects.get_or_create(country=us,
                                                        name ='Columbia',
                                                        type=county,
                                                        parent=ny)
city, __ = LocationType.objects.get_or_create(description='CITY')
hudson, __  = Location.objects.get_or_create(country=us,
                                             name ='Hudson',
                                             type=city,
                                             area=columbia,
                                             is_administrative=True)

Links

Stable master-build master-cov Requirements Status
Development dev-build dev-cov Requirements Status
Project home page: https://github.com/saxix/django-geo
Issue tracker: https://github.com/saxix/django-geo/issues?sort
Download: http://pypi.python.org/pypi/django-geo/
Documentation: https://django-geo.readthedocs.org/en/latest/
Something went wrong with that request. Please try again.