前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python-唯一ID-01-生成唯一ID

Python-唯一ID-01-生成唯一ID

作者头像
zishendianxia
发布2022-01-19 19:54:28
1.9K0
发布2022-01-19 19:54:28
举报
文章被收录于专栏:Python工程师Python工程师

系统:Windows 10 编辑器:JetBrains PyCharm Community Edition 2018.2.2 x64

  • 这个系列讲讲和唯一ID相关的一些操作
  • 今天讲讲如何生成

Part 1:场景描述

  1. 对于数据的每一条记录一般都有一个唯一的ID,用来标识这一记录
  2. Django项目中,若使用MySQL作为数据库,使用Models创建数据库,会自动创建一个ID字段,且该字段为自增,不重复
  3. 自增的ID在不同表之间是重复的,那如果有一个个性的需求,需要手动生成一个不重复的ID,如何实现

Part 2:方法1

  1. 通过时间序列生成ID,已用户的操作时刻生成一串数字,理论上同一毫秒进行操作的概率不大,当然也不是严格没有可能
代码语言:javascript
复制
import datetime

def get_unique_id():
    """
    根据时间生成唯一ID
    :return:
    """
    current_time = datetime.datetime.now()
    str_time = current_time.strftime('%Y%m%d%H%M%S%f')[:-3]
    unique_id = "{0}".format(str_time)
    return unique_id

id_only = get_unique_id()
id_used = "T-{0}".format(id_only)
print(id_used)

图2 运行结果

Part 3:方法2

  1. uuid包实现,是根据当前时间和设备MAC地址生成的,这样两台不同的电脑生成的id肯定是不同的
代码语言:javascript
复制
import uuidid_1 = uuid.uuid1()
print(id_1)

图3 运行结果

本机mac地址获取

  • windows系统下cmd中输入getmac即可,但获取到了两个,实际只是使用了其中一个,why?

本文为原创作品,欢迎分享朋友圈

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-12-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python工程师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档