Как связать модель X с экземпляром модели X?

Предположим, что у меня есть

class modelX(models.Model):
    value = models.CharField(max_length=200)
    

now

var1 = modelX(value='some_value')
var2 = modelX(value='another_value')

Как соединить var1 и var2 ?

Я знаю о методе .objects.all, но это не то, что мне нужно. Я хочу что-то вроде связанного списка.

Создайте самореферентный внешний ключ.

class modelX(models.Model):
    value = models.CharField(max_length=200)
    parent = models.ForeignKey("self")

поэтому вы можете соединить два объекта из одной модели отношением "родитель-дети"

var1 = modelX(value='some_value')
var2 = modelX(value='another_value', parent=var1)

print(var2.parent.value)
>>> "some_value"
Вернуться на верх