Я использую Django со следующими (упрощенными) моделями:
class Entity(models.Model):
name = models.CharField(max_length=30)
class Person(models.Model):
last_name = models.CharField(max_length=30)
first_name = models.CharField(max_length=30)
entity = models.ForeignKey(Entity)
Я бы хотел добавить возможности иерархии в модель сущности (и, соответственно, в Person).
Вопрос: какую реализацию вы порекомендуете, учитывая, что я предпочитаю стабильность системы и простоту обслуживания, а не быстродействующую скорость запросов (хотя недопустимая скорость запросов для ~ 2000 конечных и узловых объектов будет плохой).
1) Реализация иерархического дерева как вложенного набора в базе данных SQL, доступ к которому осуществляется через обычные полевые операции; или
2) Реализовать дерево иерархии вне Django как обычное дерево Python (например, класс Node), получить доступ к информации иерархии с помощью методов модели Django?
Спасибо
Mike