Reputation: 8364
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)
Upvotes: 12
Views: 6092
Reputation: 599490
Don't store it with the leading zeros. Format it on output instead:
(in view: value = 1)
{{ value|stringformat:"04d" }} # displays as 0001
Upvotes: 21
Reputation: 968
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 :-)
Upvotes: 2