1
from django.db import models
2
from django.utils.encoding import python_2_unicode_compatible
4
class Event(models.Model):
5
# Oracle can have problems with a column named "date"
6
date = models.DateField(db_column="event_date")
8
class Parent(models.Model):
9
name = models.CharField(max_length=128)
11
class Child(models.Model):
12
parent = models.ForeignKey(Parent, editable=False, null=True)
13
name = models.CharField(max_length=30, blank=True)
14
age = models.IntegerField(null=True, blank=True)
16
class Genre(models.Model):
17
name = models.CharField(max_length=20)
19
class Band(models.Model):
20
name = models.CharField(max_length=20)
21
nr_of_members = models.PositiveIntegerField()
22
genres = models.ManyToManyField(Genre)
24
@python_2_unicode_compatible
25
class Musician(models.Model):
26
name = models.CharField(max_length=30)
31
@python_2_unicode_compatible
32
class Group(models.Model):
33
name = models.CharField(max_length=30)
34
members = models.ManyToManyField(Musician, through='Membership')
39
class Membership(models.Model):
40
music = models.ForeignKey(Musician)
41
group = models.ForeignKey(Group)
42
role = models.CharField(max_length=15)
47
class ChordsMusician(Musician):
50
class ChordsBand(models.Model):
51
name = models.CharField(max_length=30)
52
members = models.ManyToManyField(ChordsMusician, through='Invitation')
54
class Invitation(models.Model):
55
player = models.ForeignKey(ChordsMusician)
56
band = models.ForeignKey(ChordsBand)
57
instrument = models.CharField(max_length=15)
59
class Swallow(models.Model):
60
origin = models.CharField(max_length=255)
61
load = models.FloatField()
62
speed = models.FloatField()
65
ordering = ('speed', 'load')
68
class UnorderedObject(models.Model):
70
Model without any defined `Meta.ordering`.
73
bool = models.BooleanField(default=True)
76
class OrderedObjectManager(models.Manager):
77
def get_queryset(self):
78
return super(OrderedObjectManager, self).get_queryset().order_by('number')
80
class OrderedObject(models.Model):
82
Model with Manager that defines a default order.
85
name = models.CharField(max_length=255)
86
bool = models.BooleanField(default=True)
87
number = models.IntegerField(default=0, db_column='number_val')
89
objects = OrderedObjectManager()
91
class CustomIdUser(models.Model):
92
uuid = models.AutoField(primary_key=True)