What is meant in the tutorial is most definitely not that the model ‘instance’ should reference itself, but rather that the instance should reference another instance of the same type, i.e. a parent-child relationship. Something like:
class Person(models.Model):
mother = models.ForeignKey(’self', null=True)
father = models.ForeignKey(’self', null=True)
You need to keep the field nullable because something must be root of the relationship structure (unless you want to create only cyclic relationships, which is not recommended for family structures...). To create a relationship do this:
eve = Person.objects.create()
adam = Person.objects.create()
abel = Person.objects.create(mother=eve, father=adam)
Erik