Django存储手机号码,使用什么字段?

时间:2013-03-17 19:45:07

标签: django django-models

在我的模型中,我需要以下列格式存储手机号码447182716281.我应该使用哪个字段? Django有什么可以支持的吗?

例如

 mobile = models.IntegerField(max_length=12)

5 个答案:

答案 0 :(得分:5)

电话号码必须是CharFields。整数字段不会保留前导0,+和间距。

答案 1 :(得分:3)

表单验证中有一个正则表达式字段。在模型中使用CharField。

答案 2 :(得分:2)

我认为这是一个有趣的问题,因为它真的取决于问题建模,CharField工作正常,但看看这个:

ORM tricks

答案 3 :(得分:1)

使用models.IntegerField(默认值= 0) 对于更大的数字,它给出错误 确保此值小于或等于2147483647。

更好的使用方式是。 BigIntegerField 一个64位整数,非常类似于IntegerField,但它保证适合从-9223372036854775808到9223372036854775807的数字。该字段的默认表单小部件是TextInput。

答案 4 :(得分:0)

在PostgreSQL中,IntegerField无法正常工作,因此最好在Django中使用CharField。

Number=models.CharField(max_length=12)