Kann jemand sagen, wie solche Form wie in dem Bild unten in Django erstellen?Wie werden Markierungen in Kontrollkästchen gespeichert?
Ich habe Modell Product
mit Feld is_visable
. Im Formular möchte ich alle Produkte mit dem Feld is_visable
anzeigen. Benutzer kann Kontrollkästchen auswählen und den Wert is_visable
Feld ändern. Mit anderen Worten: Produkte sichtbar oder unsichtbar machen. Ich bin Sache über MultipleChoiceField
in meiner Form, aber nicht sicher ist es in meinem Fall richtig.
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()
Hallo! Kannst du meinen Beitrag noch einmal überprüfen? Ich füge Formular und Sichtcode hinzu. Ich zeige alle Produkte in Form an und ändere dann den Wert von is_visable von Produkten, auf die der Benutzer in Ansichten geklickt hat. Aber ich klaue nicht, wie man Markierung in Checkbox in jenen Produkten speichert, die 'is_visable = True' haben? Hast du irgendwelche Ideen dazu? –