sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur kan jag använda UUID i SQLAlchemy?

sqlalchemy postgres-dialekten stöder UUID-kolumner. Det här är enkelt (och frågan är specifikt postgres) -- jag förstår inte varför alla andra svar är så komplicerade.

Här är ett exempel:

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)

Var noga med att inte missa att skicka callable uuid.uuid4 i kolumndefinitionen, istället för att anropa själva funktionen med uuid.uuid4() . Annars kommer du att ha samma skalära värde för alla instanser av den här klassen. Mer information här:

Ett skalärt, Python-anropsbart eller ColumnElement-uttryck som representerar standardvärdet för denna kolumn, som kommer att anropas vid infogning om denna kolumn på annat sätt inte anges i VALUES-satsen i infogningen.



  1. Hur uppdaterar jag en rad i en tabell eller infogar den om den inte finns?

  2. Datatyp för lagring av ip-adress i SQL Server

  3. Talk slides:Partitioneringsförbättringar i PostgreSQL 11

  4. Använda endast tangentbordsnavigering i Word, Excel och PowerPoint (Del 1:The Ribbon)