web/lib/django/contrib/gis/tests/layermap/models.py
changeset 38 77b6da96e6f1
equal deleted inserted replaced
37:8d941af65caf 38:77b6da96e6f1
       
     1 from django.contrib.gis.db import models
       
     2 
       
     3 class State(models.Model):
       
     4     name = models.CharField(max_length=20)
       
     5     objects = models.GeoManager()
       
     6 
       
     7 class County(models.Model):
       
     8     name = models.CharField(max_length=25)
       
     9     state = models.ForeignKey(State)
       
    10     mpoly = models.MultiPolygonField(srid=4269) # Multipolygon in NAD83
       
    11     objects = models.GeoManager()
       
    12 
       
    13 class CountyFeat(models.Model):
       
    14     name = models.CharField(max_length=25)
       
    15     poly = models.PolygonField(srid=4269)
       
    16     objects = models.GeoManager()
       
    17 
       
    18 class City(models.Model):
       
    19     name = models.CharField(max_length=25)
       
    20     population = models.IntegerField()
       
    21     density = models.DecimalField(max_digits=7, decimal_places=1)
       
    22     dt = models.DateField()
       
    23     point = models.PointField()
       
    24     objects = models.GeoManager()
       
    25 
       
    26 class Interstate(models.Model):
       
    27     name = models.CharField(max_length=20)
       
    28     length = models.DecimalField(max_digits=6, decimal_places=2)
       
    29     path = models.LineStringField()
       
    30     objects = models.GeoManager()
       
    31 
       
    32 # Same as `City` above, but for testing model inheritance.
       
    33 class CityBase(models.Model):
       
    34     name = models.CharField(max_length=25)
       
    35     population = models.IntegerField()
       
    36     density = models.DecimalField(max_digits=7, decimal_places=1)
       
    37     point = models.PointField()
       
    38     objects = models.GeoManager()
       
    39 
       
    40 class ICity1(CityBase):
       
    41     dt = models.DateField()
       
    42     
       
    43 class ICity2(ICity1):
       
    44     dt_time = models.DateTimeField(auto_now=True)
       
    45 
       
    46 # Mapping dictionaries for the models above.
       
    47 co_mapping = {'name' : 'Name',
       
    48               'state' : {'name' : 'State'}, # ForeignKey's use another mapping dictionary for the _related_ Model (State in this case).
       
    49               'mpoly' : 'MULTIPOLYGON', # Will convert POLYGON features into MULTIPOLYGONS.
       
    50               }
       
    51 
       
    52 cofeat_mapping = {'name' : 'Name',
       
    53                   'poly' : 'POLYGON',
       
    54                   }
       
    55 
       
    56 city_mapping = {'name' : 'Name',
       
    57                 'population' : 'Population',
       
    58                 'density' : 'Density',
       
    59                 'dt' : 'Created',
       
    60                 'point' : 'POINT',
       
    61                 }
       
    62 
       
    63 inter_mapping = {'name' : 'Name',
       
    64                  'length' : 'Length',
       
    65                  'path' : 'LINESTRING',
       
    66                  }