Собственно хочется "красивую" models для отношений "родитель -- дочерняя запись" внутри одной таблице. Вот так ругается:
class Person (models.Model):
FullName = models.CharField ( default=u"Иванов И.И.", max_length=256 )
# ...
Parent = models.OneToOneField ( Person )
def __unicode__(self):
return self.FullName
Скорее всего получится устанавливать отношение "родитель -- дочерняя запись" в ручную, например:
class Person (models.Model):
id = models.IntegerField ( primary_key=True )
FullName = models.CharField ( default=u"Иванов И.И.", max_length=256 )
# ...
Parent = models.IntegerField ( default=0, db_index=True )
def __unicode__(self):
return self.FullName
Но очень хочется "красивости".
Собственно все это нужно чтобы не переписывать записи, в которых много индексированных полей. Перезапись индексов будет подтормаживать, а если просто добавлять новую запись а у старой менять Parent , то это перестроение всего одного индекса (Parent же тоже придется индексировать, чтобы после быстро выбирать записи с Parent == 0)