PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как мога да използвам UUID в SQLAlchemy?

Диалектът 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 на вмъкването.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Задаване на изчакване за свързване с PDO

  2. Стимулиране на производителността за PostgreSQL с HAProxy

  3. Вмъкнете, ако не съществува, иначе върнете идентификатора в postgresql

  4. Как да получите номер на ред в PostgreSQL

  5. Отказ за репликация на PostgreSQL 101