2006-10-14 10:48:05 +08:00
|
|
|
from django.db import models
|
|
|
|
|
2011-10-14 05:34:56 +08:00
|
|
|
|
2006-10-14 10:48:05 +08:00
|
|
|
class Poll(models.Model):
|
2007-08-05 13:14:46 +08:00
|
|
|
question = models.CharField(max_length=200)
|
2006-10-14 10:48:05 +08:00
|
|
|
|
2012-08-12 18:32:08 +08:00
|
|
|
def __str__(self):
|
2012-06-08 00:08:47 +08:00
|
|
|
return "Q: %s " % self.question
|
2006-10-14 10:48:05 +08:00
|
|
|
|
2013-11-03 05:34:05 +08:00
|
|
|
|
2006-10-14 10:48:05 +08:00
|
|
|
class Choice(models.Model):
|
2015-07-22 22:43:21 +08:00
|
|
|
poll = models.ForeignKey(Poll, models.CASCADE)
|
2007-08-05 13:14:46 +08:00
|
|
|
choice = models.CharField(max_length=200)
|
2006-10-14 10:48:05 +08:00
|
|
|
|
2012-08-12 18:32:08 +08:00
|
|
|
def __str__(self):
|
2012-06-08 00:08:47 +08:00
|
|
|
return "Choice: %s in poll %s" % (self.choice, self.poll)
|
2006-10-14 10:48:05 +08:00
|
|
|
|
2009-03-06 10:02:09 +08:00
|
|
|
# A set of models with an inner one pointing to two outer ones.
|
2013-11-03 05:34:05 +08:00
|
|
|
|
|
|
|
|
2009-03-06 10:02:09 +08:00
|
|
|
class OuterA(models.Model):
|
|
|
|
pass
|
|
|
|
|
2013-11-03 05:34:05 +08:00
|
|
|
|
2009-03-06 10:02:09 +08:00
|
|
|
class OuterB(models.Model):
|
|
|
|
data = models.CharField(max_length=10)
|
|
|
|
|
2013-11-03 05:34:05 +08:00
|
|
|
|
2009-03-06 10:02:09 +08:00
|
|
|
class Inner(models.Model):
|
2015-07-22 22:43:21 +08:00
|
|
|
first = models.ForeignKey(OuterA, models.CASCADE)
|
2013-02-10 23:15:49 +08:00
|
|
|
# second would clash with the __second lookup.
|
2015-07-22 22:43:21 +08:00
|
|
|
third = models.ForeignKey(OuterB, models.SET_NULL, null=True)
|