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

Molti-a-molti in sqlalchemy. Impedire l'inserimento di SQLAlchemy in una tabella se esiste già un tag

per la ricetta "solo tag univoci" di solito uso la ricetta oggetto unico, o una sua variante:http://www.sqlalchemy.org/trac/wiki/UsageRecipes/UniqueObject .

Ciò richiede naturalmente un SELECT su una riga particolare per dire se esiste prima. La tecnica "upsert", che utilizza comandi specifici del database per INSERIRE o AGGIORNARE una riga in base a una determinazione lato database, non è supportata direttamente dall'ORM in questo momento. Sei comunque su Postgresql che in realtà non supporta alcuna funzionalità nativa "upsert" tranne un sistema molto imbarazzante che utilizza espressioni di tabella comuni.