【问题标题】:Django, Big integer and urlDjango,大整数和网址
【发布时间】:2020-09-12 06:40:10
【问题描述】:

我一直在寻找答案,但找不到。 在 PostgreSQL 中,我有主键,它是 BigInt 类型的自动字段。在 url 路径中,我必须使用“int:pk”之类的东西来引用它。如果我将 int 用于此目的,那么当数字超出整数类型的限制时,我以后会遇到麻烦吗?我更适合在 url 中使用哪种类型的 bigint?它不需要 BigInt 或 BigIntegerField,它们是 Django 的 bigint 类型。我必须使用像 这样的模式而不是 int 吗?感谢您的帮助!

【问题讨论】:

    标签: python django url path


    【解决方案1】:

    你可以在 python 中使用 int 类型,因为在 python 3.x 中,整数的值不受位数的限制,可以扩展到可用内存的限制。对于 Python2.x 的情况有点不同,但对你来说仍然是安全的。请从以下文档中查找报价:

    Python 2.7:

    普通整数(也称为整数)在 C 中使用 long 实现,这为它们提供了至少 32 位的精度

    https://docs.python.org/2.7/library/stdtypes.html#numeric-types-int-float-long-complex

    因此对于python 2.X,范围是从-92233720368547758089223372036854775807(只要最多可以存储64位)

    Python 3.x:

    整数具有无限精度。

    https://docs.python.org/3/library/stdtypes.html#numeric-types-int-float-complex

    PostGreSQL BigInt 最多可以存储 8 个字节,这与 python2.x 相同,因此继续将 python int 映射到 PostGreSQL BigInt 是完全安全的

    【讨论】:

      猜你喜欢
      • 2017-02-23
      • 1970-01-01
      • 1970-01-01
      • 2017-03-05
      • 2015-04-23
      • 1970-01-01
      • 1970-01-01
      • 2010-12-03
      • 2012-07-05
      相关资源
      最近更新 更多