web/lib/django/contrib/gis/tests/geoapp/models.py
changeset 0 0d40e90630ef
child 29 cc9b7e14412b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/lib/django/contrib/gis/tests/geoapp/models.py	Wed Jan 20 00:34:04 2010 +0100
@@ -0,0 +1,39 @@
+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)
+    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
+
+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()