@nurzhannogerbek

Как оставить галочку в сheckbox-ах?

Здравствуйте! Помогите пожалуйста разобраться.

Есть модель данных Product (Продукт) с полем is_visible типа данных BooleanField. Хочу вывести форму с checkbox-ами, нажимая на который пользователь менял бы значения поля visible. Другими словами делал бы продукт видимым или не видимым.

Пример формы:
2f89ef431c8e4885b68cfcaf42b84930.PNG

То что сделал на данный момент вы видите снизу. Данный код должен по идее выводить в форму все объекты (то есть список всех продуктов). Пользователь выбирает продукты отметив чексбоксы затем во views я меняю значения полей is_visable на True у тех продуктов, которые пользователь отметил, но как оставить галочку в чекбоксе у тех продуктов у которых is_visable=True?

models.py:
class Product(models.Model):
    symbol = models.CharField(_('Symbol'), max_length=250)
    name = models.CharField(_('Name'), max_length=250)
    is_visible = models.BooleanField(default=False)


forms.py:
class ProductForm(forms.ModelForm):
    product = forms.ModelChoiceField(widget=forms.CheckboxSelectMultiple, queryset=Product.objects.all())


views.py:
if request.method == 'POST':
    form = ProductForm(data=request.POST)
    if form.is_valid():
        ids = form.cleaned_data.get('product')  # Example: ['pk', 'pk']
        for id in ids:
            product = Product.objects.get(pk=id)
            product.is_visible = True
            product.save()
  • Вопрос задан
  • 573 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы