Как показать галочку на значениях, которые сохраняются в базе данных для формы обновления в Django
Рассмотрим тип почвы, выбранный при создании элемента, при создании элемента мы можем выбрать несколько вариантов типа почвы
Например, рассмотрим дерево_имя = Гибискус, которое может быть выращено в нескольких типах почвы_типа, таких как глинистая почва, красная почва, кислая почва, ... (где это варианты типа почвы и поле множественного выбора в форме создания)
если предположить, что пользователь выбрал тип почвы для гибискуса как глинистую и кислую почву, то при обновлении формы он должен показать галочку
рассмотрим мой forms.py как
SOIL_TYPE_CHOICES = (
('Acidic','Acidic'),
('Alkaline','Alkaline'),
('Chalk','Chalk'),
('Clay','Clay'),
('Damp','Damp'),
)
class HorticlutureUpdateForm(BetterModelForm):
soil_type = forms.MultipleChoiceField(
required=False,
widget=forms.CheckboxSelectMultiple,
choices=SOIL_TYPE_CHOICES,
)
....
.....
class Meta:
model = TreeDetails
exclude = ('created_by', 'client', 'is_deleted')
fieldsets = [
["main", {
"fields": ['tree_name', 'common_name','description', 'part_number',
'unit_price'],
"legend": "Main details",
}],
["extra", {
"fields": [ 'quantity', 'height'
'soil_type', ],
"legend": "Additional details",
}],
]
вот мой index.html
<form class="form-horizontal" method="post" enctype="multipart/form-data">
{% csrf_token %}
{% for field in form.hidden_fields %}{{ field }}{% endfor %}
<fieldset class="add">
<legend class="main">{{ form.fieldsets.main.legend }}</legend>
<fieldset id="edit-contact-fields" class="edit-contact">
{% for field in form.fieldsets.main %}
<div class="control-group" id="{{ field.name }}_wrapper">
<label class="control-label pull-left" for="{{ field.auto_id }}">{{ field.label }}
{% if field.field.required %}<span class="text-error">*</span>{% endif %}</label>
<div class="controls">
{{ field }}
{% if field.help_text %}<p class="help-block">{{ field.help_text }}</p>{% endif %}
</div>
</div>
{% endfor %}
</fieldset>
<legend id="tasks-over" class="halflings table-show expand"><i></i> {{ form.fieldsets.extra.legend }}</legend>
<fieldset id="edit-contact-fields" class="edit-contact task-over">
{% for field in form.fieldsets.extra %}
<div class="control-group" id="{{ field.name }}_wrapper">
<label class="control-label pull-left" for="{{ field.auto_id }}">{{ field.label }}
{% if field.field.required %}<span class="text-error">*</span>{% endif %}</label>
<div class="controls">
{{ field }}
{% if field.help_text %}<p class="help-block">{{ field.help_text }}</p>{% endif %}
</div>
</div>
{% endfor %}
</fieldset>
</fieldset>
<div id="form-buttons-container" class="form-actions">
<input type="submit" class="btn btn-inverse" value="Save item">
<a class="btn btn-default" href="{% url "crm:item list" %}">Cancel</a>
{% if is_update_view %}
<a class="halflings trash warning pull-right" href="{{ request.path }}/delete/ ">
<i></i>Delete Item
</a>
{% endif %}
</div> <!--/form-actions-->
</form>
так как для дерева гибискуса мы выбрали глинистые и кислые почвы, которые хранятся в базе данных при создании дерева, необходимо поставить галочку в форме обновления
В настоящее время он отображается как при обновлении
Но как мне нужно