App Engine Python SDK version 1.7.4 (2)
[gae.git] / python / lib / django_1_4 / tests / regressiontests / multiple_database / models.py
blob7d655fe3d6bc5b30715caf0ef2ef07664f6bac55
1 from __future__ import absolute_import
3 from django.contrib.auth.models import User
4 from django.contrib.contenttypes.models import ContentType
5 from django.contrib.contenttypes import generic
6 from django.db import models
9 class Review(models.Model):
10 source = models.CharField(max_length=100)
11 content_type = models.ForeignKey(ContentType)
12 object_id = models.PositiveIntegerField()
13 content_object = generic.GenericForeignKey()
15 def __unicode__(self):
16 return self.source
18 class Meta:
19 ordering = ('source',)
21 class PersonManager(models.Manager):
22 def get_by_natural_key(self, name):
23 return self.get(name=name)
25 class Person(models.Model):
26 objects = PersonManager()
27 name = models.CharField(max_length=100)
29 def __unicode__(self):
30 return self.name
32 class Meta:
33 ordering = ('name',)
35 # This book manager doesn't do anything interesting; it just
36 # exists to strip out the 'extra_arg' argument to certain
37 # calls. This argument is used to establish that the BookManager
38 # is actually getting used when it should be.
39 class BookManager(models.Manager):
40 def create(self, *args, **kwargs):
41 kwargs.pop('extra_arg', None)
42 return super(BookManager, self).create(*args, **kwargs)
44 def get_or_create(self, *args, **kwargs):
45 kwargs.pop('extra_arg', None)
46 return super(BookManager, self).get_or_create(*args, **kwargs)
48 class Book(models.Model):
49 objects = BookManager()
50 title = models.CharField(max_length=100)
51 published = models.DateField()
52 authors = models.ManyToManyField(Person)
53 editor = models.ForeignKey(Person, null=True, related_name='edited')
54 reviews = generic.GenericRelation(Review)
55 pages = models.IntegerField(default=100)
57 def __unicode__(self):
58 return self.title
60 class Meta:
61 ordering = ('title',)
63 class Pet(models.Model):
64 name = models.CharField(max_length=100)
65 owner = models.ForeignKey(Person)
67 def __unicode__(self):
68 return self.name
70 class Meta:
71 ordering = ('name',)
73 class UserProfile(models.Model):
74 user = models.OneToOneField(User, null=True)
75 flavor = models.CharField(max_length=100)
77 class Meta:
78 ordering = ('flavor',)