Skip to main content

django objectid

Project description

Django-objectid

Django-objectid用于Django框架在分布式环境中高效生成不重复ID值。

依赖

  • django >= 2.2.0

安装

  • pip安装
pip install django-objectid
  • 源码安装
python setup.py install

发布包

# 打包
python setup.py bdist_wheel
# 上传
twine upload -u xxx -p ***  ./dist/*

使用

Django-objectid包括两个类,ObjectIDObjectidModel

class objectid.ObjectID(id=None)

生成、解析objectid。 参数id是一个长度为24的字符,如果是None则生成新的ObjectID实例,如果提供一个有效ID则解析这个ID为ObjectID实例。ObjectID实例有如下属性:

  • timestamp,ID中的时间戳,也就是ID创建的时间。
  • host,ID中的主机名,是实际主机名经过哈希处理后的值。
  • pid,进程ID,可能与实际值不一致。
  • count,同一进程一秒内生成的ID序号。
from objectid import ObjectID, create_objectid
# 创建ID对象
id = ObjectID()
# 获得id字符串
idstr = str(id)
# 直接创建id字符串
idstr = create_objectid()
# 解析id字符串
id = ObjectID('5fb1ee9af1d79721f0000015')

class objectid.ObjectidModel()

ObjectidModel是一个抽象类,不能单独使用,作为定义django模型类的基类。实例对象有如下属性和方法:

  • get_id_datetime(),返回id中的时间戳。
  • 多数据中心布署时,settings中增加配置 DCID,数据中心ID,默认为0。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_objectid-1.0.9-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file django_objectid-1.0.9-py3-none-any.whl.

File metadata

File hashes

Hashes for django_objectid-1.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 fb7ea5669a8748f729eb72ad4c97abff3c41612f56a3bdd21c056ac7f04e5096
MD5 b07211a411c08632f1a9bf8719f75c29
BLAKE2b-256 ea083db4f014c44b2ce81fd46d6d2005cddba71dc4b52cb7222749e2b25218be

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page