我想创建一个设置页面,用户可以在其中选择他们拥有的多个技能值。它将有一个主要类别,然后是子类别。我需要将它们保存到我的数据库中,这样我就可以查询它们并再次展示他们选择的技能组合。
我知道如何创建 MultipleChoiceField 但不知道如何将它们保存到数据库中。我将如何处理?
表格.py
from django import forms
class skills(forms.Form):
jobs = [
('Håndværker', (
('Gulv', 'Gulv'),
('Væg', 'Væg'),
)
),
('Murer', (
('Mur', 'Mur'),
('blabla', 'blabla'),
)
),
]
job = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple,
choices=jobs)
View .py
from .forms import skills
def index(request):
if request.method == 'POST':
form = skills(request.POST)
if form.is_valid():
picked = form.cleaned_data.get('job')
# do something with your results
else:
form = skills
return render(request, 'settings/index.html', {"form":form})
最佳答案
由于您还没有任何模型设置,您可以查看 django-multiselectfield ,这会将选定的选项存储为“作为逗号分隔值的 CharField”。然后您只需要从您的表单中传递这些值。
或者您可以查看 PostgreSQL's Array field .
关于django - 如何将 MultipleChoiceField 保存到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57240699/