【问题标题】:Django: Long field (BigIntegerField) For MongoDBDjango:用于 MongoDB 的长字段 (BigIntegerField)
【发布时间】:2012-08-27 08:14:06
【问题描述】:

我想分配一个模型字段来在 MongoDB 中存储一个 Long 整数类型。我已经用 BigIntegerField 尝试过,但它仍然保留为 MongoDB 中的 Integer 字段。我试过使用:

models.BigIntegerField()

我应该使用哪个模型字段? 注意:我已将 django-nonrel 用于 DJango-MongoDB 关系。

【问题讨论】:

    标签: django mongodb django-models long-integer django-nonrel


    【解决方案1】:

    您是否节省了足够大的价值?您使用的 python 版本也可能很重要。来自 API 文档:

    Python int 将保存为 BSON int32 或 BSON int64,具体取决于 它的大小。 BSON int32 将始终解码为 Python int。在 Python 中 2.x BSON int64 将始终解码为 Python long。在 Python 3.x 中,BSON int64 将解码为 Python int,因为不再存在 long 类型。

    此外,python long 应始终映射到 BSON 64 位整数:

    http://api.mongodb.org/python/2.3rc1/api/bson/son.html

    【讨论】:

    • 当我查看 MongoDB 中的值时,我看到该字段被创建为 Integer。可能 Mongo 不会接受超过 Integer 的值。实际上我的问题是将字段保持为 MongoDB 中的整数。 Django MongoDB fork 将 BigInteger 表单字段转换为 Mongo 中的 Integer 字段。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-16
    • 2015-06-17
    • 2022-08-14
    • 2019-02-05
    • 1970-01-01
    相关资源
    最近更新 更多