У меня есть подчиненная форма, унаследованная от основной формы, и я настроил теги включения для различных видов форм.Для простых форм или сложных форм моя папка «include» имеет всю логику, основанную на jinja.Теперь мне нужно использовать тег include, и мне нужно перебирать поле подчиненной формы с Foreignkey.Но я не могу этого сделать.Небольшая помощь будет высоко ценится.
Унаследованная форма:
class InheritedAddressForm (AddressForm):
def __init__(self, *args, **kwargs):
super(InheritedAddressForm, self).__init__(*args, **kwargs)
self.fields['extended_form_value'].queryset = InheritedModel.objects.all()
Форма включает в себя фрагмент: includes / forms / simple_input_field.html
{% load widget_tweaks %}
<div class="{% if field.errors %}has-error{% endif %}">
{% if not nolabel and field|widget_type != 'checkboxinput' and field|widget_type != 'radioselect' and field|widget_type != 'hiddeninput' %}
<label for="{{ field.auto_id }}" class="control-label{% if field.field.required %} required{% endif %}">
{{ field.label|safe }}
</label>
{% endif %}
{% if field|widget_type == 'checkboxinput' %}
<div class="custom-control custom-checkbox">
{% if field.errors %}
{% render_field field class+="custom-control-input is-invalid" id=field.auto_id %}
{% else %}
{% render_field field class+="custom-control-input" id=field.auto_id %}
{% endif %}
{% if not nolabel %}
<label for="{{ field.auto_id }}" class="custom-control-label">
<span class="{% if field.field.required %}required{% endif %}">{{ field.label|safe }}</span>
</label>
{% endif %}
</div>
{% elif field|widget_type == 'radioselect' %}
{% if not nolabel %}
<div class="control-label">
<span class="{% if field.field.required %}required{% endif %}">{{ field.label|safe }}</span>
</div>
{% endif %}
<div class="input-list-container inline">
{% for choice in field %}
<label class="custom-control custom-radio">
<input class="custom-control-input" id="{{choice.id_for_label}}" type="radio" value="{{choice.choice_value}}" name="{{field.name}}"{% if field.value == choice.choice_value %} checked="checked"{% endif %}>
<label class="custom-control-label" for="{{choice.id_for_label}}">{{choice.choice_label}}</label>
</label>
{% endfor %}
</div>
{% else %}
{% if field.errors %}
{% if field|widget_type == 'select' or field|widget_type == 'advancedselect' %}
{% render_field field class+="custom-select is-invalid" %}
{% else %}
{% render_field field class+="form-control is-invalid " %}
{% endif %}
{% else %}
{% if field|widget_type == 'select' or field|widget_type == 'advancedselect' %}
{% render_field field class+="custom-select" %}
{% else %}
{% render_field field class+="form-control" %}
{% endif %}
{% endif %}
{% endif %}
{% if not noerror %}
{% for error in field.errors %}
<span class="error-block"><i class="icon-exclamation-sign"></i> {{ error }}</span>
{% endfor %}
{% endif %}
{% if field.help_text %}
<span class='help-block'>
{# We allow HTML within form help fields #}
{{ field.help_text|safe }}
</span>
{% endif %}
</div>
Моя унаследованная форма:
{% if form.extended %}
<div class="form-row">
<div class="form-col-full form-group">
#{% for choice in extended_set.all %}
{% include 'includes/forms/simple_input_field.html' with field=extended %}
#Need to iterate extended with "include" tag.
#{% endfor %}
</div>
{% endif %}
Я получил расширенное отображение, но мне нужно перебрать расширенный, чтобы получить значения ForeignKey с расширенным в шаблоне.Может кто-нибудь предложить способ, как перебрать тег включения?