Django многоуровневые вложенные наборы форм

django предоставляет inline formset, который позволяет 3 уровня вложенности, но мне нужна гораздо более сложная вложенность. Он должен быть полностью динамическим, так что я могу идти от одного к другому на каждом уровне, но это может быть от одного ко многим на каждом уровне. Пока у меня есть только это, но можно расширить для дополнительных подуровней.

class Srts(models.Model):
    data = models.CharField(max_length=10, blank=True, null=True)
 

class Volume(models.Model):
    srts = models.ForeignKey('Srts', on_delete=models.CASCADE)
    name = models.CharField(max_length=120, blank=True, null=True)


class Qtree(models.Model):
    volume = models.ForeignKey('Volume', on_delete=models.CASCADE)
    name = models.CharField(max_length=120)

class Server(models.Model):
    qtree = models.ForeignKey('Qtree', on_delete=models.CASCADE)
    hostname = models.CharField(max_length=120, blank=True, null=True)

class CifsPermission(models.Model):
    qtree = models.ForeignKey('Qtree', on_delete=models.CASCADE)
    group = models.CharField(max_length=30, blank=True, null=True, default='None')
    permission = models.CharField(max_length=30, blank=True, null=True, default='None')

Я много гуглил в последние дни, но мало что нашёл.

Некоторые примеры django-nested-inline-formsets-example - это базовый только 3-й уровень

Django-лучшие формы-можно обрабатывать несколько форм на одной отправке, но не наборы форм

django-nested-inline -только для страницы администратора

Как работать с формой, не связанной с моделью, затем выполнить разделение и соответствующую логику, а затем сохранить ее в модели?

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