Django: отношения между двумя объектами одной модели

Я создал эту модель:

class Process(models.Model):
    name = models.CharField('Process name', max_length=50, unique=True)
    owner = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.SET_NULL, max_length=50, null=True, verbose_name='Process owner')

Я хочу создать несколько процессов и на их основе построить иерархию. Вот модель иерархии:

class Hierarchy(models.Model):
    name = models.ForeignKey('process.Process', on_delete=models.CASCADE, verbose_name='Sub process name')
    name = models.ForeignKey('process.Process', on_delete=models.CASCADE, verbose_name='Main process name')
    order = models.IntegerField('Process order', default='1')

Очевидно, что это не работает, поскольку поля 'name' в иерархической модели мешают друг другу. Я бы не хотел создавать модели MainProcess и SubProcess, так как некоторые SubProcess могут иметь больше SubProcess и т.д.

Каким должен быть правильный способ построения такого типа модели/иерархии? Возможно, это очень простой вопрос, но я не смог найти ни одного связанного вопроса, чтобы применить решение, поэтому любая помощь будет оценена по достоинству.

Вернуться на верх