Django存储手机号码,使用哪个字段?

Django存储手机号码,使用哪个字段?,django,django-models,Django,Django Models,在我的型号中,我需要以以下格式存储手机号码447182716281。我应该使用哪个字段?Django有什么可以支持的吗 范例 mobile = models.IntegerField(max_length=12) 电话号码必须是CharFields。整数字段将不保留前导0、+、和间距。表单验证中有一个正则表达式字段。在模型中,仅使用CharField 我认为这是一个有趣的问题,因为它实际上取决于问题建模,CharField工作得很好,但看看这个: 关于使用models.IntegerFiel

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

范例

 mobile = models.IntegerField(max_length=12)

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

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

我认为这是一个有趣的问题,因为它实际上取决于问题建模,CharField工作得很好,但看看这个:


关于使用models.IntegerField(默认值为0) 对于较大的数字,它给出了误差 确保此值小于或等于2147483647

所以更好的使用方法是。 大整数域
一个64位整数,与IntegerField非常相似,只是它保证适合-9223372036854775808到9223372036854775807之间的数字。此字段的默认表单小部件是TextInput。

使用PostgreSQL IntegerField时工作不正常,因此最好将CharField与Django一起使用

Number=models.CharField(max_length=12)

它是否支持某种正则表达式,因为CharFields非常通用。为什么需要加号?你能不用PhoneNumberField()吗?我喜欢这种方法。让事情变得简单