Inline_Formset для конкретного набора запросов вместо всех моделей?
В настоящее время я работаю над проектом и пытаюсь найти лучший способ легко вывести список форм.
Я посмотрел несколько видео на YouTube о inline_formsets (а также прочитал документацию), и мне кажется, что это был бы "путь", но я не совсем уверен, как их реализовать (и возможно ли это вообще для меня), учитывая мою структуру модели.
Пояснение проекта: У меня есть несколько моделей: Summative, Rubric, Domain, Subdomain, SummativeScore и ProficiencyLevel
Модели выглядят следующим образом:
class Domain(CreateUpdateMixin):
    """
    Model definition for Domain.
    """
    name = models.CharField(max_length=50)
    description = models.CharField(max_length=250)
class Rubric(CreateUpdateMixin):
    """
    Model definition for Rubric.
    """
    short_description = models.CharField(max_length=100)
    long_description = models.CharField(max_length=250)
    growthplan_count = models.IntegerField()
    report_url = models.CharField(max_length=350)
    domains = models.ManyToManyField(Domain)
    active = models.BooleanField(default=False)
class Summative(CreateUpdateMixin, CreateUpdateUserMixin):
    """
    Model definition for Summative.
    """
    end_year = models.ForeignKey(Year, on_delete=models.PROTECT)
    rubric = models.ForeignKey(Rubric, on_delete=models.PROTECT)
    locked = models.BooleanField(default=False)
    employee = models.ForeignKey(
        User, on_delete=models.PROTECT, related_name="%(class)s_employee"
    )
    admin_locked_on = models.DateTimeField(
        auto_now=False, auto_now_add=False, blank=True, null=True
    )
    report_url = models.CharField(max_length=350, blank=True)
class Subdomain(CreateUpdateMixin):
    """
    Model definition for Subdomain.
    """
    domain = models.ForeignKey(Domain, on_delete=models.PROTECT)
    short_description = models.CharField(max_length=100)
    long_description = models.CharField(max_length=250)
    character_code = models.CharField(max_length=5)
    proficiency_levels = models.ManyToManyField(ProficiencyLevel)
class ProficiencyLevel(CreateUpdateMixin):
    """
    Model definition for SubdomainProficienyLevel.
    """
    name = models.CharField(max_length=75)
    description = models.CharField(max_length=250)
class SummativeScore(CreateUpdateMixin, CreateUpdateUserMixin):
    """
    Model definition for SummativeScore.
    """
    summative = models.ForeignKey(Summative, on_delete=models.PROTECT)
    subdomain = models.ForeignKey(Subdomain, on_delete=models.PROTECT)
    proficiency_level = models.ForeignKey(
        ProficiencyLevel, on_delete=models.PROTECT
    )
Шаг 1: получить список доменов просто summative.rubric.domains.all()
Шаг 2: мы можем просмотреть список доменов, который мы получили выше, чтобы получить список поддоменов для данного суммарного показателя
A Subdomain имеет отношение многие-ко-многим к ProficiencyLevel
 Модель SummativeScore имеет FK для Summative и Subdomain (которые будут скрытыми входами) с третьим полем, являющимся "рангом", выбранным пользователем (FK для ProficiencyLevel) Эта модель должна отражать выбор пользователем рейтинга субдоменов для этого Summative.
Шаг 3: Пользователь выбирает ProficiencyLevel из списка тех, которые привязаны к Subdomain
Я пытаюсь понять, как лучше всего сделать страницу, которая показывает SummativeScoreForm для каждого Subdomain, связанного с конкретным Summative - я думаю, учитывая ограничения запросов, требуемых выше, чтобы найти нужные Subdomain, связанные с Summative, инлайн_формсет, вероятно, не подойдет - но я не уверен.
В конечном итоге я хотел бы составить шаблон таким образом, чтобы он выглядел следующим образом:
h2.Domain1
-- SummativeScoreForm related to Subdomain1
-- SummativeScoreForm related to Subdomain2
h2.Domain2 
-- SummativeScoreForm related to Subdomain3
-- SummativeScoreForm related to Subdomain4
h2.Domain3
-- SummativeScoreForm related to Subdomain5
-- SummativeScoreForm related to Subdomain6
 Похоже, inline_formset будет работать, если только я смогу установить количество наборов инлайн-форм на один для каждого Subdomain, связанного с просматриваемым Summative.
 Тогда мне нужно будет ограничить ProficiencyLevel выбор уровнями, связанными только с этим конкретным Subdomain в каждой форме.
Мой текущий набор inline_formset выглядит следующим образом:
SummativeScoreFormset = inlineformset_factory(
    Summative,
    SummativeScore,
    fields=("proficiency_level",),
)
Он отображается должным образом, предоставляя мне выпадающий список уровней квалификации. Но я хотел бы иметь по одному для каждого субдомена, привязанного к сумме, которую я просматриваю.
 Главный вопрос: есть ли способ сделать это с помощью inline_formset? Или это не тот инструмент для работы?