Как я могу использовать наборы полей в шаблоне django для Django 3.0
Здесь я использую python версии 3.7.10 и Django 3.0
Мои наборы полей прекрасно работали на python 2.7 и Django 1.8
Вот мой forms.py
class CampaignMainForm(forms.ModelForm):
class Meta:
model = Campaign
exclude = ['campaign_create_send_id',
'list_id',
'name',
'subject',
'created_by',
'send_datetime',
'send_timezone']
fieldsets = [
['group',{
'fields': ['group'],
'legend': "Recipients",
}],
['template',{
'fields': ['stored_template'],
'legend': "Template",
}],
['templatedata',{
'fields': ['stored_template_data', 'stored_template_data_validated'],
'legend': "Template Content",
}],
]
Теперь в моем шаблоне, как я пытался
{% for fieldset in form.fieldsets %}
<fieldset{% if fieldset.name != "templatedata" %} class="accordion-group"{% endif %}>
{% if fieldset.name != "templatedata" %}
<legend><bull class="bull {% if fieldset.legend == "Recipients" %}{% if object.group != None %}label-color-0d0{% endif %}{% elif fieldset.legend == "Template" %}{% if object.stored_template != None %}label-color-0d0{% endif %}{% else %}label-color-0d0{% endif %}"></bull> <a href="#" class="collapse-title" data-toggle="collapse" data-target=".collapse-{{ fieldset.legend|slugify }}" data-parent="#main-accordian">{{ fieldset.legend }}</a>
<small class="muted">{% if fieldset.legend == "Template" %}{% if object.stored_template != None %}{{ object.stored_template.name }}{% endif %}{% endif %}{% if fieldset.legend == "Recipients" %}{% if object.group != None %}{{ object.group }} ({{ email_valid_count }} emails){% endif %}{% endif %}</small>
</legend>
.....
.....
{% endfor %}
Но здесь мой цикл for работает неправильно. На самом деле мне нужно, чтобы если fieldset.name != "templatedata", то он должен отобразить fieldset.legend == "Recipients" ....
он не работает нормально в моем Django 3.0 Как я могу заставить его работать