Благодаря фантастическим встроенным наборам форм в django у меня есть довольно продвинутая форма с 4 встроенными наборами форм.В шаблоне я отображаю каждый набор форм на вкладке.Все работает очень хорошо, но я бы хотел покрасить вкладку в красный цвет, если в наборе форм на этой вкладке вообще есть какие-либо ошибки проверки.Поэтому я попробовал это:
<div id="tabs">
<ul>
<li><a href="#foo-tab"{% if forms.FooFormSet.errors %} class="error"{% endif %}>Foo</a></li>
<li><a href="#bar-tab"{% if forms.BarFormSet.errors %} class="error"{% endif %}>Bar</a></li>
<li><a href="#zoo-tab"{% if forms.ZooFormSet.errors %} class="error"{% endif %}>Zoo</a></li>
<li><a href="#doo-tab"{% if forms.DooFormSet.errors %} class="error"{% endif %}>Doo</a></li>
</ul>
<div id="foo-tab"></div>
<div id="bar-tab"></div>
<div id="zoo-tab"></div>
<div id="doo-tab"></div>
</div>
Но это не работает, потому что формы. * Set.errors - это список с пустыми словарями (поэтому он всегда будет возвращать True), например [{}, {}, {}](количество форм в наборах форм равно количеству пустых словарей в formset.errors
Я думаю, что одним из решений может быть создание подкласса BaseInlineFormSet и добавление метода has_errors или чего-то еще, а затем использование этой подклассовой базы для всехмои формы. Любые другие предложения? Спасибо!