gpt4 book ai didi

python - 多项选择未保存在数据库中

转载 作者:太空宇宙 更新时间:2023-11-04 06:05:54 25 4
gpt4 key购买 nike

我试图在我的数据库中保存电子邮件和多项选择。使用电子邮件一切正常,但选择(“选项”)存在一些问题。它没有保存在我的数据库中。这是我的代码:

View .py

if form.is_valid():
email = form.cleaned_data['email']
option = request.POST.getlist('my_field')
new_user = form.save(email, option)

模型.py

class Vartotojas(models.Model):
email = models.EmailField()
CHOICES = (
('s', 'small'),
('m', 'medium'),
('b', 'big'),
)
option = models.CharField(max_length=1, choices=CHOICES)

表单.py

email = forms.EmailField(max_length=100)
my_field = forms.MultipleChoiceField(choices=Vartotojas.CHOICES, widget=forms.CheckboxSelectMultiple())

def save(self, email, option):
mymodel = Vartotojas(
email=email,
option = option,
)
mymodel.save()

我的错误在哪里?

最佳答案

您不能将多选字段保存到 CharField。 CharField 是单个元素。 MulitpleChoiceField 是多个。另外,您正在设置选项字段 max_length=1,这样也不会起作用。

我怀疑您想要做的是将一系列选择连接到 CharField 中的单个(逗号分隔?)值。您可以使用一个标准的 forms.TextField(使用 MultipleChoiceWidget)和一个自定义的 clean 方法来执行连接,但是您需要从 objective-c harField 中删除 choices 属性。

例如:

def clean_option_field(self):
return ','.join(self.cleaned_data['option'])

关于python - 多项选择未保存在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22079147/

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