0
Djangoの下の図のようなフォームを作成するにはどうすればいいですか?チェックボックスにマークを保存する方法は?
私はフィールドis_visable
でモデルProduct
を持っています。フォームでは、すべての製品をフィールド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()
こんにちは:詳細については、この記事を参照してください
:あなたはこのようなクエリセットを構築することができるように
ModelChoiceFieldためのクエリセットは、必須の引数です!私のポストをもう一度調べることはできますか?私はフォームとビューのコードを追加します。私はフォームですべての製品を表示し、ビューでユーザーがクリックした製品のis_visable値を変更します。しかし、私は、 'is_visable = True'を持つ製品のチェックボックスにマークを保存する方法を理解していませんか?あなたはそれについて何か考えていますか? –