summaryrefslogtreecommitdiff
path: root/tests/regressiontests/mongodb/models.py
blob: 9b7e25108ed5a437ccd803050c16f3bbcd5be2b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
from django.db import models


class Artist(models.Model):
    id = models.NativeAutoField(primary_key=True)
    name = models.CharField(max_length=255)
    good = models.BooleanField()
    age = models.IntegerField(null=True)
    
    current_group = models.ForeignKey("Group", null=True,
        related_name="current_artists")
    
    def __unicode__(self):
        return self.name


class Group(models.Model):
    id = models.NativeAutoField(primary_key=True)
    name = models.CharField(max_length=255)
    year_formed = models.IntegerField(null=True)


class Post(models.Model):
    id = models.NativeAutoField(primary_key=True)
    title = models.CharField(max_length=255)
    
    tags = models.ListField(
        models.CharField(max_length=255)
    )
    
    magic_numbers = models.ListField(
        models.IntegerField()
    )


class Revision(models.Model):
    number = models.IntegerField()
    content = models.TextField()


class AuthenticatedRevision(Revision):
    # This is a really stupid way to add optional authentication, but it serves
    # its purpose.
    author = models.CharField(max_length=100)


class WikiPage(models.Model):
    id = models.NativeAutoField(primary_key=True)
    title = models.CharField(max_length=255)
    
    revisions = models.ListField(
        models.EmbeddedModel(Revision)
    )