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 __token__ ./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.11-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for django_objectid-1.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 1b105f64babed8776273780886e9728618a4f640981088289708df49288564f9
MD5 5c678efeaa244e336698abe7211bcb42
BLAKE2b-256 296c8c2c0e56d764bbf12e9a85c2e790e679137cd45a149e9f90a2e39db88dfc

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