I think we should put this in 0.6 since 0.5.3 is already out with the
non-UUID version, code that expects a string to be returned will break.

Im using a TypeDecorator myself to integrate with UUID at the moment.

class GUIDType(TypeDecorator):
    impl = PGUuid

    def process_bind_param(self, value, dialect):
        if value is None:
            return value
        else:
            return str(value)

    def process_result_value(self, value, dialect):
        if value is None:
            return value
        else:
            return uuid.UUID(value)



Jonathan Gardner wrote:
>
> The PGUuid doesn't accept Python's uuid.UUID type. Here's a simple patch
> to fix that:
>
> diff --git
> a/lib/python2.5/site-packages/SQLAlchemy-0.5.3-py2.5.egg/sqlalchemy/databases/po
> index 038a9e8..394c293 100755
> ---
> a/lib/python2.5/site-packages/SQLAlchemy-0.5.3-py2.5.egg/sqlalchemy/databases/postgres.
> +++
> b/lib/python2.5/site-packages/SQLAlchemy-0.5.3-py2.5.egg/sqlalchemy/databases/postgres.
> @@ -200,6 +200,17 @@ class PGBit(sqltypes.TypeEngine):
>  class PGUuid(sqltypes.TypeEngine):
>      def get_col_spec(self):
>          return "UUID"
> +
> +    def bind_processor(self, dialect):
> +        def process(value):
> +            return str(value)
> +        return process
> +
> +    def result_processor(self, dialect):
> +        import uuid
> +        def process(value):
> +            return uuid.UUID(value)
> +        return process
>
>  class PGArray(sqltypes.MutableType, sqltypes.Concatenable,
> sqltypes.TypeEngine):
>      def __init__(self, item_type, mutable=True):
>
>
>
> Also, I wonder if we should make UUID type a generic type. Other
> databases can either store it as an integer or as a string of hex
> digits. There are db designers out there (like myself) who prefer UUIDs
> over numbers for IDs.
>
> >
>


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to