【问题标题】:Django storing mobile number, what field to use?Django存储手机号码,使用什么字段?
【发布时间】:2013-03-06 02:42:03
【问题描述】:

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

例子

 mobile = models.IntegerField(max_length=12)

【问题讨论】:

    标签: django django-models


    【解决方案1】:

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

    【讨论】:

    • 那么它是否支持某种正则表达式,因为 CharFields 非常通用。
    • 为什么需要加号?没有它你可以使用 PhoneNumberField() 吗?
    • 我喜欢这种方法。让它变得简单
    【解决方案2】:

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

    ORM tricks

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          【解决方案5】:

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

          Number=models.CharField(max_length=12)
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-09-06
            • 2017-03-05
            • 1970-01-01
            • 1970-01-01
            • 2018-06-05
            • 2012-05-23
            • 1970-01-01
            • 2022-12-04
            相关资源
            最近更新 更多