【问题标题】:Django form is adding characters when I am editing details当我编辑详细信息时,Django 表单正在添加字符
【发布时间】:2017-09-03 19:09:31
【问题描述】:

这是我的表单的设置方式(所有字段都相同):

class AddColourForm(forms.Form):

    colour = forms.CharField(
        widget=TextInput(attrs={'class':'form-control'}),
        max_length=100,
        required=False,
        label = "Colour:",
    )

这是我的看法:

if form.is_valid():
    selected_colour.code = form.cleaned_data['code'],
    selected_colour.name = form.cleaned_data['colour'],
    selected_colour.save()

这是进入数据库时​​发生的情况:

(u'red',) (u'#ff0000',)

我尝试在保存之前在清理后的数据周围添加 unicode() 包装器,但这不起作用。

还有人有其他建议吗?

【问题讨论】:

  • 我认为你想要一个 24 位无符号值,而不是 u'#ff0000' 的字符串

标签: python django forms unicode


【解决方案1】:

尝试像这样删除每一行之后的逗号(它们不是必需的):

selected_colour.code = form.cleaned_data['code']
selected_colour.name = form.cleaned_data['colour']
selected_colour.save()

看起来逗号正在将您的数据变成一个列表。

【讨论】:

  • 除了必要之外,@drew2 还在数据库中保存了一个元组字符串表示。
  • 是的!这立即奏效了。复制代码以向数据库添加新颜色然后更改它是我自己的错。我以后会记住这一点的。谢谢!!!!!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-30
  • 2020-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多