How to Use UUIDv7 in Python, Django and PostgreSQL
6 months ago
- #UUIDv7
- #PostgreSQL
- #Django
- UUIDv7提供时间有序的标识符,相比UUIDv4能改善索引局部性并减少随机写入
- Python 3.14通过`uuid.uuid7`内置支持UUIDv7,允许客户端生成而无需依赖数据库
- PostgreSQL 18新增原生函数`uuidv7`和`uuid_extract_timestamp`,支持服务端UUID生成和时间戳提取
- Django 5.2无缝集成UUIDv7:使用`db_default`处理PostgreSQL生成的UUID,通过`GeneratedField`提取时间戳
- UUIDv7适合内部使用,但在公开API中应进行掩码处理(如使用UUIDv47)以避免暴露创建时间戳
- UUIDv7已稳定支持Python 3.14、Django 5.2和PostgreSQL 18,无需自定义字段或扩展