Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to store an integer leaded by zeros in django

I'm trying to store a number in django that looks like this:

000001

My problem is that if I type this inside an IntegerField it gets converted to "1" without the leading zeros. I've tried also with a DecimalField with the same result. How can I store the leading zeros whithout using a CharField? (I need to manipulate that number in it's integer form)

like image 503
CastleDweller Avatar asked Jun 18 '10 13:06

CastleDweller


2 Answers

Don't store it with the leading zeros. Format it on output instead:

(in view: value = 1)
{{ value|stringformat:"04d" }} # displays as 0001
like image 138
Daniel Roseman Avatar answered Oct 08 '22 00:10

Daniel Roseman


I think you should use a CharField and do something like that :

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 :-)
like image 45
Ghislain Leveque Avatar answered Oct 08 '22 00:10

Ghislain Leveque