Я пытаюсь сохранить число в django, который похож на это:
000001
Моя проблема состоит в том, что, если я ввожу эту внутреннюю часть IntegerField, она преобразовывается в "1" без начальных нулей. Я попробовал также DecimalField с тем же результатом. Как я могу сохранить начальные нули, не используя CharField? (Я должен управлять тем числом в, он - целочисленная форма),
Не храните его с ведущими нулями. Вместо этого отформатируйте его при выводе:
(in view: value = 1)
{{ value|stringformat:"04d" }} # displays as 0001
Я думаю, вам следует использовать 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 :-)