App Engine Python SDK version 1.7.4 (2)
[gae.git] / python / lib / django_1_4 / tests / modeltests / m2o_recursive / models.py
blobc0a4bdeec2bf890a47445d93305714f2a1aa5230
1 """
2 11. Relating an object to itself, many-to-one
4 To define a many-to-one relationship between a model and itself, use
5 ``ForeignKey('self')``.
7 In this example, a ``Category`` is related to itself. That is, each
8 ``Category`` has a parent ``Category``.
10 Set ``related_name`` to designate what the reverse relationship is called.
11 """
13 from django.db import models
16 class Category(models.Model):
17 name = models.CharField(max_length=20)
18 parent = models.ForeignKey('self', blank=True, null=True, related_name='child_set')
20 def __unicode__(self):
21 return self.name
23 class Person(models.Model):
24 full_name = models.CharField(max_length=20)
25 mother = models.ForeignKey('self', null=True, related_name='mothers_child_set')
26 father = models.ForeignKey('self', null=True, related_name='fathers_child_set')
28 def __unicode__(self):
29 return self.full_name