10

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

例子

 mobile = models.IntegerField(max_length=12)
4

5 回答 5

5

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

于 2013-03-17T19:53:43.293 回答
3

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

于 2013-03-17T20:59:54.740 回答
3

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

ORM 技巧

于 2013-03-18T00:03:44.487 回答
2

在使用 models.IntegerField(default=0) 获取更大的数字时,它会给出错误确保此值小于或等于 2147483647。

所以更好的使用方法是。BigIntegerField 一个 64 位整数,很像 IntegerField,只是它保证适合从 -9223372036854775808 到 9223372036854775807 的数字。此字段的默认表单小部件是 TextInput。

于 2017-06-21T05:16:21.443 回答
0

PostgreSQL IntegerField 无法正常工作,因此最好将 CharField 与 Django 一起使用。

Number=models.CharField(max_length=12)
于 2020-10-13T14:06:34.770 回答