PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak używać identyfikatorów UUID w SQLAlchemy?

Dialekt postgres sqlalchemy obsługuje kolumny UUID. To proste (a pytanie dotyczy konkretnie postgresu) — nie rozumiem, dlaczego inne odpowiedzi są tak skomplikowane.

Oto przykład:

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)

Uważaj, aby nie przegapić przekazania callable uuid.uuid4 do definicji kolumny, zamiast wywoływania samej funkcji za pomocą uuid.uuid4() . W przeciwnym razie będziesz mieć tę samą wartość skalarną dla wszystkich instancji tej klasy. Więcej szczegółów tutaj:

Wyrażenie skalarne, wywoływane w Pythonie lub wyrażenie ColumnElement reprezentujące wartość domyślną dla tej kolumny, które zostanie wywołane po wstawieniu, jeśli ta kolumna nie zostanie w inny sposób określona w klauzuli VALUES wstawiania.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sparametryzowana PostgreSQL funkcja Order By / Limit w tabeli

  2. Maksymalna (użyteczna) liczba wierszy w tabeli Postgresql

  3. Określanie OID tabeli w Postgresie 9.1?

  4. Wygeneruj n wierszy NULL w PostgreSQL

  5. Zapytanie Railsowe typu danych Postgres JSON