Как отобразить выбранные checkbox в Django при использовании ModelMultipleChoiceField
Помогите) Как отобразить выбранные checkbox в Django при использовании ModelMultipleChoiceField на странице редактирования ресурса. Отмечаю нужные чекбоксы, сохраняю. Всё сохраняется. Но отмеченные чекбоксы не "горят". Когда снова заходишь в редактор не видно, что было отмечено.
##Моя модель:
class Dish(models.Model):
titl = models.CharField(max_length=255, verbose_name="Title")
ingr = models.TextField(verbose_name="Ingredients", null=True, blank=True)
auth = models.ForeignKey(User, on_delete=models.PROTECT, related_name = 'auth', verbose_name="Author")
def __str__(self):
return self.titl
class Meta:
verbose_name = 'Dish'
verbose_name_plural = 'Dish'
ordering = ['-time_crea', 'titl']
##Моя форма:
class DishForm(ModelForm):
titl = forms.CharField(label='Title', widget=TextInput(attrs={'class': 'inp', 'placeholder': 'Title'}), required=True)
ingr = forms.ModelMultipleChoiceField(
label='Ingredients',
widget=forms.CheckboxSelectMultiple,
queryset=Ingredients.objects.all(),
required=False,
)
class Meta:
model = Dish
fields = ['titl', 'ingr']
def __init__(self, *args, **kwargs):
super(DishForm, self).__init__(*args, **kwargs)
self.fields['ingr'].initial = self.instance.ingr
## Моя вьюха:
class ChanDish(UpdateView):
model = Dish
form_class = DishForm
template_name = 'app_dish/chandish.html'
pk_url_kwarg = 'dish_id'
context_object_name = 'data'
login_url = reverse_lazy('lgn')
success_url = reverse_lazy('listdish')
def get_context_data(self, *, object_list=None, **kwargs):
context = super().get_context_data(**kwargs)
context['title'] = 'Editor of' + ' ' + str(context['data'].titl)
return context
## Мой шаблон (кусочек с формой)
<form method="POST" enctype="multipart/form-data">
{% csrf_token %}
<div class="error">{{ error }}</div>
<div class="groups">
<label>Title:</label>
{{ form.titl }}
</div>
<div class="groups">
<label>Ingredients:</label>
{{ form.ingr }}
</div>
<div class="span12 left buts">
<div class="span3"><button type="submit" class="btn">Сохранить</button></div>
<div class="span3 left"><a href="{% url 'itemdish' data.id %}">Вернуться не сохраняя</a></div>
<div class="span3 left"><a href="{% url 'remodish' data.id %}" class="rem">Удалить</a>
</div>
</div>
</form>