Django, большое число и url - PullRequest
1 голос
/ 25 мая 2020

Я искал ответ, но не нашел. В PostgreSQL у меня есть первичный ключ, который является автополем типа BigInt. В пути URL-адреса я должен указать на него что-то вроде "int: pk". Если я использую int для этой цели, попаду ли я в проблемы позже, когда числа выйдут за пределы целочисленного типа? Какой тип мне лучше использовать для bigint в url? Он не принимает BigInt или BigIntegerField, которые являются типом Django для bigint. Должен ли я использовать шаблоны вроде <'$> вместо int? Спасибо за помощь!

1 Ответ

1 голос
/ 25 мая 2020

Вы можете использовать тип int в python, поскольку в python 3.x значение целого числа не ограничено количеством битов и может расширяться до предела доступной памяти. Для Python2 .x ситуация немного другая, но все же безопасная для вас. Пожалуйста, ищите цитаты из документации ниже:

Python 2.7:

Простые целые числа (также называемые целыми числами) реализуются с использованием long в C, что дает им как минимум 32 бита точности

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

Следовательно, для python 2.X диапазон составляет от От -9223372036854775808 до 9223372036854775807 (пока может храниться до 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...