我正在使用 Flask 和 Flask-SQLAlchemy 构建 Rest API。只是想知道,有什么方法可以生成唯一的ID字符串主键吗?该 key 将用于身份 API 端点,例如:
POST v0.2/users/4q2VolejRejNmGQB/messages
而不是
POST v0.2/users/123/messages
我正在玩http://hashids.org/ ,但似乎有问题,因为主键将在我保存数据后自动生成,而 hashids 需要生成给定的整数
最佳答案
我刚刚得到了解决方案。我使用 uuid 来生成唯一的主键和 base64 以使其友好。
import re
import uuid
import base64
def uuid_url64():
rv = base64.b64encode(uuid.uuid4().bytes).decode('utf-8')
return re.sub(r'[\=\+\/]', lambda m: {'+': '-', '/': '_', '=': ''}[m.group(0)], rv)
这是实现的示例
user1 = UserModel(user_id=str(uuid_url64()), name='rizkiaditya')
关于python - 如何在flask-sqlalchemy中为API端点设置唯一的字符串主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43169683/