app/django/contrib/gis/tests/geoapp/models.py
author Todd Larsen <tlarsen@google.com>
Tue, 20 Jan 2009 23:01:24 +0000
changeset 856 3d14b31e72e4
parent 323 ff1a9aa48cfd
permissions -rw-r--r--
Set agrees_to_tos example text to link to site-wide ToS (or a warning message). Also, since a renaming import statement is being used already, change user_logic.logic to just user_logic. Patch by: Todd Larsen Review by: to-be-reviewed

from django.contrib.gis.db import models
from django.contrib.gis.tests.utils import mysql

# 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

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 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()