search.png
关于我
menu.png
UnicodeEncodeError: 'decimal' codec can't encode character u'\u7537' in position 0: invalid decimal

前端向django后端post数据时报错:

UnicodeEncodeError: 'decimal' codec can't encode character u'\u7537' in position 0: invalid decimal Unicode string
[08/Aug/2018 15:02:00] "POST /wx_basic_data HTTP/1.1" 500 126512

在save数据时出现了‘十进制Unicode字符串无效’这样的很奇怪的错误,看了一下view:

user_sex = wx_basic_data['sex'],

再看了一下对应的models.py:

SEX_CHOICE=(
    (0, '男'),
    (1, '女'),
)
user_sex = models.IntegerField(verbose_name='性别', choices=SEX_CHOICE)

原来自己放了个低级错误直接把前端返回的'男'保存进了数据, 而使用选择元组应该保存的是数字而不是字符串。

因而修改一下:

user_sex = 0 if (wx_basic_data['sex'] == u'男') else 1,

问题解决。

版权声明

知识共享许可协议 本文章由作者“衡于墨”创作,转载请注明出处,未经允许禁止用于商业用途

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。
发布时间:2018年08月08日 15:28:40

评论区#

还没有评论哦,期待您的评论!

关闭特效