/django/contrib/gis/tests/geoapp/models.py
https://code.google.com/p/mango-py/ · Python · 46 lines · 36 code · 8 blank · 2 comment · 1 complexity · 16a8d74a8412a58dfd11be9d84706d56 MD5 · raw file
- from django.contrib.gis.db import models
- from django.contrib.gis.tests.utils import mysql, spatialite
- # MySQL spatial indices can't handle NULL geometries.
- null_flag = not mysql
- class Country(models.Model):
- name = models.CharField(max_length=30)
- mpoly = models.MultiPolygonField() # SRID, by default, is 4326
- objects = models.GeoManager()
- def __unicode__(self): return self.name
- class City(models.Model):
- name = models.CharField(max_length=30)
- point = models.PointField()
- objects = models.GeoManager()
- def __unicode__(self): return self.name
- # This is an inherited model from City
- class PennsylvaniaCity(City):
- county = models.CharField(max_length=30)
- founded = models.DateTimeField(null=True)
- objects = models.GeoManager() # TODO: This should be implicitly inherited.
- class State(models.Model):
- name = models.CharField(max_length=30)
- poly = models.PolygonField(null=null_flag) # Allowing NULL geometries here.
- objects = models.GeoManager()
- def __unicode__(self): return self.name
- class Track(models.Model):
- name = models.CharField(max_length=30)
- line = models.LineStringField()
- objects = models.GeoManager()
- def __unicode__(self): return self.name
- if not spatialite:
- class Feature(models.Model):
- name = models.CharField(max_length=20)
- geom = models.GeometryField()
- objects = models.GeoManager()
- def __unicode__(self): return self.name
- class MinusOneSRID(models.Model):
- geom = models.PointField(srid=-1) # Minus one SRID.
- objects = models.GeoManager()