【发布时间】:2017-09-30 17:22:11
【问题描述】:
有人可以说,如何在Django中创建如下图所示的表单?
我有模型Product 和字段is_visable。在表单中,我想显示字段为is_visable 的所有产品。用户可以选择复选框并更改is_visable 字段的值。换句话说,使产品可见或不可见。我对MultipleChoiceField 很感兴趣,但不确定我的情况是否正确。
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()
【问题讨论】:
标签: python django python-3.x django-forms django-1.10