#python #django #database #web #model
#python #django #База данных #паутина #Модель
Вопрос:
Мне было интересно, как я могу сохранить MultipleChoiceField в базу данных Django (при отправке формы)?
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__'
Если вам нужна дополнительная информация, дайте мне знать! Спасибо за помощь.
Ответ №1:
Вы можете сделать это следующим образом :-
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)
Комментарии:
1. Но куда бы он его сохранил?
2. @Skarf, в базе данных
3. Вы также можете сделать все это только в формах.