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

系统: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,已用户的操作时刻生成一串数字,理论上同一毫秒进行操作的概率不大,当然也不是严格没有可能
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)

代码截图
请添加图片描述

运行结果
请添加图片描述

Part 3:方法2

  1. 通过uuid包实现,是根据当前时间和设备MAC地址生成的,这样两台不同的电脑生成的id肯定是不同的
import uuid


id_1 = uuid.uuid1()
print(id_1)

运行结果
请添加图片描述

本机mac地址获取

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

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

长按图片识别二维码,关注本公众号
Python 优雅 帅气
12x0.8.jpg

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值