Im Idealfall würde Ich mag, wie etwas zu tun in der Lage:Wert mit psycopg2
id_of_new_row = cursor.lastrowid()
, in dem ich die ID des neu erstellten oder geänderten Reihe bekommen. Aber das ist nicht über psycopg2 verfügbar. Alternativ habe ich das versucht:
id_of_new_row = cursor.execute('INSERT INTO this_table (value1, value2, value3) VALUES (%s, %s, %s) RETURNING id', (some_value1, some_value2, some_value3))
, die nicht, wahrscheinlich nicht funktioniert, weil es nicht die ID wissen, bis nach dem Commit gemacht wird ...
Hilfe!
Welche Art von ID Sie zu bekommen versuchen - OID oder der Wert eines Feldes SERIEN erklärt? –
Ich weiß es nicht. Ich bin neu. Dies ist ein Django-Projekt, und Django richtet die Postgres-Datenbank mit Syncdb basierend auf meinen Modellen ein. Ich bin mir nicht sicher, ob Django OID während der Tabellenerstellung automatisch deklariert. Ich brauche den Primärschlüssel jeder Zeile, der von django automatisch als "id" generiert wird, sofern nicht anders angegeben. Ich werde etwas lesen. –