Skip to content Skip to sidebar Skip to footer

Psycopg2: Can't Adapt Type 'uuid'?

I am using psycopg2 to try to insert an entry into a table where the type of the data is the Postgres type 'uuid'. According to this page, I should be able to directly use the Pyth

Solution 1:

As author noted in comments, to pass UUID objects into cursor methods one have to call register_uuid() first once:

import psycopg2.extras

# call it in any place of your program# before working with UUID objects in PostgreSQL
psycopg2.extras.register_uuid()

# now you can pass UUID objects into psycopg2 functions
cursor.execute("INSERT INTO MyTable (uuid) VALUES (%s)", (uuid.uuid4(),))

# ... and even get it from there
cursor.execute("SELECT uuid FROM MyTable")
value, = cursor.fetchone()
assertisinstance(value, uuid.UUID)

Solution 2:

uuid_entry = str(uuid.uuid4()) 

This works for me. Not sure if it is the right approach.

Post a Comment for "Psycopg2: Can't Adapt Type 'uuid'?"