web/lib/django/contrib/gis/tests/geoapp/models.py
changeset 0 0d40e90630ef
child 29 cc9b7e14412b
equal deleted inserted replaced
-1:000000000000 0:0d40e90630ef
       
     1 from django.contrib.gis.db import models
       
     2 from django.contrib.gis.tests.utils import mysql, spatialite
       
     3 
       
     4 # MySQL spatial indices can't handle NULL geometries.
       
     5 null_flag = not mysql
       
     6 
       
     7 class Country(models.Model):
       
     8     name = models.CharField(max_length=30)
       
     9     mpoly = models.MultiPolygonField() # SRID, by default, is 4326
       
    10     objects = models.GeoManager()
       
    11     def __unicode__(self): return self.name
       
    12 
       
    13 class City(models.Model):
       
    14     name = models.CharField(max_length=30)
       
    15     point = models.PointField()
       
    16     objects = models.GeoManager()
       
    17     def __unicode__(self): return self.name
       
    18 
       
    19 # This is an inherited model from City
       
    20 class PennsylvaniaCity(City):
       
    21     county = models.CharField(max_length=30)
       
    22     objects = models.GeoManager() # TODO: This should be implicitly inherited.
       
    23 
       
    24 class State(models.Model):
       
    25     name = models.CharField(max_length=30)
       
    26     poly = models.PolygonField(null=null_flag) # Allowing NULL geometries here.
       
    27     objects = models.GeoManager()
       
    28     def __unicode__(self): return self.name
       
    29 
       
    30 if not spatialite:
       
    31     class Feature(models.Model):
       
    32         name = models.CharField(max_length=20)
       
    33         geom = models.GeometryField()
       
    34         objects = models.GeoManager()
       
    35         def __unicode__(self): return self.name
       
    36 
       
    37     class MinusOneSRID(models.Model):
       
    38         geom = models.PointField(srid=-1) # Minus one SRID.
       
    39         objects = models.GeoManager()