/django/contrib/gis/tests/relatedapp/models.py
https://code.google.com/p/mango-py/ · Python · 49 lines · 39 code · 8 blank · 2 comment · 0 complexity · 864b71fa5aceed338d11cd0677886f44 MD5 · raw file
- 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 Article(models.Model):
- title = models.CharField(max_length=100)
- author = models.ForeignKey(Author, unique=True)
- 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()