如何在 SQLAlchemy 中使用 UUID?

新手上路,请多包涵

如果使用 PostgreSQL (Postgres),是否可以在 SQLAlchemy 中将列(主键)定义为 UUID

原文由 Vasil 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
1 个回答

sqlalchemy postgres 方言支持 UUID 列。这很简单(问题特别是 postgres)——我不明白为什么其他答案都这么复杂。

这是一个例子:

 from sqlalchemy.dialects.postgresql import UUID
from flask_sqlalchemy import SQLAlchemy
import uuid

db = SQLAlchemy()

class Foo(db.Model):
    id = db.Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)

注意不要错过将 callable uuid.uuid4 传递到列定义中,而不是使用 uuid.uuid4() 调用函数本身。否则,您将对此类的所有实例具有相同的标量值。更多细节 在这里

表示此列默认值的标量、Python 可调用或 ColumnElement 表达式,如果此列未在插入的 VALUES 子句中指定,则将在插入时调用。

原文由 JDiMatteo 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏