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.
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
):
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
):