代码之家  ›  专栏  ›  技术社区  ›  John Mee

如何确定模型可以处理的最大整数?

  •  1
  • John Mee  · 技术社区  · 15 年前

    “此应用程序实例可以处理的模型字段的最大整数是多少?”

    我们有sys.maxint,但我正在寻找database+模型实例。我们有integerfield,smallintegerfield,positivesmallintegerfield,以及旁边的一些其他字段。它们都可能因彼此和每种数据库类型而异。

    我在stackoverflow上找到了“integerrangefield”自定义字段示例。可能得用这个,猜猜最小的公分母?或者重新考虑我的设计。

    有没有一种简单的方法可以计算出integerfield或其变体能够处理的最大整数?

    2 回复  |  直到 15 年前
        1
  •  1
  •   Leonid Shvechikov    15 年前

    这取决于您的数据库后端。

    使用 ./manage.py sql your_app_name 检查数据库列的生成类型,并查看数据库文档中的类型范围。

    对于MySQL: http://dev.mysql.com/doc/refman/5.1/en/numeric-types.html

    对于PostgreSQL: http://www.postgresql.org/docs/8.1/static/datatype.html#DATATYPE-TABLE

        2
  •  1
  •   John Mee    15 年前

    做起来不容易。只需设置一个常数并使用它。

    MAX_SMALL_INT = 32767
    
    position = models.PositiveSmallIntegerField(default=MAX_SMALL_INT)