gpt4 book ai didi

django - 如何将 MultipleChoiceField 保存到数据库

转载 作者:搜寻专家 更新时间:2023-10-30 19:52:30 24 4
gpt4 key购买 nike

我想创建一个设置页面,用户可以在其中选择他们拥有的多个技能值。它将有一个主要类别,然后是子类别。我需要将它们保存到我的数据库中,这样我就可以查询它们并再次展示他们选择的技能组合。

我知道如何创建 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})

当前页面加载时看起来像这样,这很好。下一步就是我如何将它保存到数据库中,这样我就可以用他们之前选择的值再次显示它。 Example

最佳答案

由于您还没有任何模型设置,您可以查看 django-multiselectfield ,这会将选定的选项存储为“作为逗号分隔值的 CharField”。然后您只需要从您的表单中传递这些值。

或者您可以查看 PostgreSQL's Array field .

关于django - 如何将 MultipleChoiceField 保存到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57240699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com