web/lib/django/contrib/gis/tests/relatedapp/models.py
changeset 0 0d40e90630ef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/lib/django/contrib/gis/tests/relatedapp/models.py	Wed Jan 20 00:34:04 2010 +0100
@@ -0,0 +1,44 @@
+from django.contrib.gis.db import models
+from django.contrib.localflavor.us.models import USStateField
+
+class Location(models.Model):
+    point = models.PointField()
+    objects = models.GeoManager()
+    def __unicode__(self): return self.point.wkt
+
+class City(models.Model):
+    name = models.CharField(max_length=50)
+    state = USStateField()
+    location = models.ForeignKey(Location)
+    objects = models.GeoManager()
+    def __unicode__(self): return self.name
+
+class AugmentedLocation(Location):
+    extra_text = models.TextField(blank=True)
+    objects = models.GeoManager()
+    
+class DirectoryEntry(models.Model):
+    listing_text = models.CharField(max_length=50)
+    location = models.ForeignKey(AugmentedLocation)
+    objects = models.GeoManager()
+
+class Parcel(models.Model):
+    name = models.CharField(max_length=30)
+    city = models.ForeignKey(City)
+    center1 = models.PointField()
+    # Throwing a curveball w/`db_column` here.
+    center2 = models.PointField(srid=2276, db_column='mycenter') 
+    border1 = models.PolygonField()
+    border2 = models.PolygonField(srid=2276)
+    objects = models.GeoManager()
+    def __unicode__(self): return self.name
+
+# These use the GeoManager but do not have any geographic fields.
+class Author(models.Model):
+    name = models.CharField(max_length=100)
+    objects = models.GeoManager()
+
+class Book(models.Model):
+    title = models.CharField(max_length=100)
+    author = models.ForeignKey(Author, related_name='books', null=True)
+    objects = models.GeoManager()