PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Plusieurs-à-plusieurs en sqlalchimie. Empêcher SQLAlchemy de s'insérer dans une table si une balise existe déjà

pour la recette "balises uniques uniquement", j'utilise généralement la recette d'objet unique, ou une variante de celle-ci :http://www.sqlalchemy.org/trac/wiki/UsageRecipes/UniqueObject .

Cela nécessite naturellement un SELECT sur une ligne particulière afin de savoir si elle existe en premier. La technique "upsert", utilisant des commandes spécifiques à la base de données pour INSÉRER ou METTRE À JOUR une ligne en fonction d'une détermination côté base de données, n'est pas directement prise en charge par l'ORM pour le moment. Vous êtes de toute façon sur Postgresql, qui ne prend en charge aucune fonctionnalité "upsert" native, à l'exception d'un système très délicat utilisant des expressions de table courantes.