Scusate se faccio una domanda banale.
Usando l'orm di sqlalchemy qualcuno mi saprebbe dare un suggerimento su come risolvere il problema di fargli fare automaticamente un inserimento o un aggiornamento? Mi spiego meglio:

Creo tabelle e oggetti, legati dal "mapper". Ho la mia brava sessione.
Se creo un nuovo oggetto, poi lo salvo (una cosa tipo session.save(obj)) e poi faccio il .flush() va tutto bene se il nuovo oggetto non è presente nel dbms (ovvero ho messo una pk realmente nuova) mentre se la pk è già esistente mi segnala un conflitto (giusto, in quel caso dovrei chiedere un update e non un insert). Ovviamente se leggo un oggetto (già esistente) tramite query, lo modifico e faccio il .flush() ottengo correttamente un update.

La domanda è semplice: esiste un modo per non dover prestabilire se si sta lavorando su un oggetto nuovo piuttosto che su uno esistente? Mi andrebbe bene una cosa tipo: se la pk non esiste esegui INSERT, altrimenti UPDATE. Se gli oggetti sono nuovi e non caricati da query mi propone sempre e solo insert...

Grazie in anticipo dei suggerimenti,
Massimo.
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a