Django使用UUID作为主键
2023-12-15 12:09:40
Django这个框架,如果你在定义模型时没有显式的指定主键,那么它会贴心的送你一个自增的id主键:
class SomeModel(model.Model):
# 下面这个 id 字段是不需要写的,django 自动附送
# id = models.AutoField(primary_key=True)
...
这个 id 主键从 1 开始计数,每有一条新的数据则 +1,保证了主键不重复。
通常你用这个自增主键就够了,但是有些情况下用它又不合适。
这时用 UUID 作为主键非常合适。?UUID 是一种全局唯一标识符,通常用32位的字符串来表现,像这样:9cd0c6fa-846e-11ea-8191-94e6f7639b8c ,它可以保证全球范围内的唯一性。
方法是这样:
class User(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid1, editable=False)
注意:既然这里设置了UUID,那你数据库的类型就要变为varchar类型。
文章来源:https://blog.csdn.net/qq_38196449/article/details/135010438
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!