简体   繁体   中英

How to save a MultipleChoiceField in Django

I was wondering how can I save a MultipleChoiceField to Django's database (in form submission)?

models.py

class Model1(models.Model):
    field = models.CharField(max_length=200, null=False, blank=False, default='')

forms.py

OPTIONS = (
    ('Option 1', 'Option 1'),
    ('Option 2', 'Option 2'),
    ('Option 3', 'Option 3'),
)
class Model1Form(forms.ModelForm):
    field = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple, choices=OPTIONS)

    class Meta:
        model = Model1
        fields = '__all__'

If you need additional information let me know. Thanks for helping out.

You can do it like:-

forms.py

from django import forms 

CHOICES =( 
    ("1", "option 1"), 
    ("2", "option 2"), 
    ("3", "option 3"), 
    ("4", "option 4"), 
) 
class ChoiceForm(forms.Form): 
    field = forms.MultipleChoiceField(choices = CHOICES) 

multiple.html

<form method="POST"> 
    {% csrf_token %} 
    {{ form.as_p }} 
    <input type="submit" value="Submit"> 
</form> 

urls.py

from django.urls import path 


from .views import multiple_view 

urlpatterns = [ 
    path('', multiple_view ), 
] 

views.py

from django.shortcuts import render 
from .forms import ChoiceForm 

def multiple_view(request): 
    context = {} 
    context['form'] = ChoiceForm() 
    return render( request, "multiple.html", context) 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM