Django, 大整数和url的关系

问题描述 投票:1回答:1

我一直在寻找答案,但我找不到。在PostgreSQL中,我有一个主键,它是自动字段,是BigInt类型。在url路径中,我必须用 "int:pk "来引用它。如果我用int来做这个用途,我以后会不会遇到麻烦,因为数字会超过整数类型的限制?url中的bigint用哪种类型比较好?Django的Bigint类型中没有BigInt和BigIntegerField。我是否要用<'$>这样的模式来代替int?谢谢你的帮助!

python django url path
1个回答
1
投票

你在 python 中可以使用 int 类型,因为在 python 3.x 中,整数的值不受位数限制,可以扩展到可用内存的极限。对于Python2.x来说情况有点不同,但对你来说还是安全的。请看下面文档中的引文。

Python 2.7:

普通整数 (也就是整数) 在 C 语言中使用 long 来实现,这使得它们至少有 32 位的精度。

https:/docs.python.org2.7librarystdtypes.html#numeric-types-int-float-long-complex。

因此,对于python 2.X来说,范围是从 -92233720368547758089223372036854775807 (只要能存储到64位)

Python 3.x:

整数具有无限精度。

https:/docs.python.org3librarystdtypes.html#numeric-types-int-float-complex。

对于 PostGreSQL BigInt 最多可以存储8个字节,这和python2.x一样,因此完全可以放心的进行python int到PostGreSQL BigInt的映射。

© www.soinside.com 2019 - 2024. All rights reserved.