2005-12-17 06:15:07 +08:00
|
|
|
"""
|
|
|
|
24. Mutually referential many-to-one relationships
|
|
|
|
|
|
|
|
To define a many-to-one relationship, use ``ForeignKey()`` .
|
|
|
|
"""
|
|
|
|
|
|
|
|
from django.db.models import *
|
|
|
|
|
|
|
|
class Parent(Model):
|
|
|
|
name = CharField(maxlength=100)
|
2006-01-29 01:06:05 +08:00
|
|
|
bestchild = ForeignKey("Child", null=True, related_name="favoured_by")
|
2005-12-17 06:15:07 +08:00
|
|
|
|
|
|
|
class Child(Model):
|
|
|
|
name = CharField(maxlength=100)
|
|
|
|
parent = ForeignKey(Parent)
|
|
|
|
|
|
|
|
API_TESTS = """
|
|
|
|
# Create a Parent
|
|
|
|
>>> q = Parent(name='Elizabeth')
|
|
|
|
>>> q.save()
|
|
|
|
|
|
|
|
# Create some children
|
|
|
|
>>> c = q.add_child(name='Charles')
|
|
|
|
>>> e = q.add_child(name='Edward')
|
|
|
|
|
|
|
|
# Set the best child
|
|
|
|
>>> q.bestchild_id = c.id
|
|
|
|
>>> q.save()
|
|
|
|
|
|
|
|
>>> q.delete()
|
|
|
|
|
|
|
|
"""
|