sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan kan jeg bruge UUID'er i SQLAlchemy?

sqlalchemy postgres-dialekten understøtter UUID-kolonner. Dette er nemt (og spørgsmålet er specifikt postgres) -- jeg forstår ikke, hvorfor de andre svar alle er så komplicerede.

Her er et eksempel:

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)

Pas på ikke at gå glip af at videregive den callable uuid.uuid4 ind i kolonnedefinitionen i stedet for at kalde selve funktionen med uuid.uuid4() . Ellers vil du have den samme skalarværdi for alle forekomster af denne klasse. Flere detaljer her:

Et skalært, Python-kaldbart eller ColumnElement-udtryk, der repræsenterer standardværdien for denne kolonne, som vil blive påkaldt ved indsættelse, hvis denne kolonne ellers ikke er angivet i VALUES-udtrykket i indsættelsen.



  1. Sådan skriver du UTF-8-strenge korrekt i MySQL gennem JDBC-grænsefladen

  2. Udførelse af sekvenser og serier i Postgres-XL

  3. Implementering af fuldtekstsøgning i SQL Server 2016 for avancerede brugere

  4. Opret en kumulativ sumkolonne i MySQL