如何在Django中存储前导零的整数
我想在Django中存储一个看起来像这样的数字:
000001
我的问题是,如果我把这个数字放在一个整数字段(IntegerField)里,它会变成“1”,前面的零都没了。我也试过用小数字段(DecimalField),结果也是一样。有没有办法在不使用字符字段(CharField)的情况下存储前面的零?(我需要以整数的形式处理这个数字)
2 个回答
2
我觉得你应该使用一个字符字段(CharField),然后可以这样做:
try:
value = int(field)
# do something with value
except valueError:
# raise a ValidationError if you are in the *clean* methods of the form
# or raise an other exception
# or handle the error
# or just raise :-)
21
不要把它存储为带有前导零的形式。应该在输出的时候进行格式化:
(in view: value = 1)
{{ value|stringformat:"04d" }} # displays as 0001