On Aug 26, 2011, at 1:34 PM, OlduvaiHand wrote:
> Indeed. I did mean to be using the case() function. Thanks, zzzeek.
> Incidentally, this particular case is supposed to return EnumSymbols
> of the variety you describe in your EnumRecipe on techspot. Now that
> the correct case function is being used, I'm still getting a
> "ProgrammingError: can't adapt type EnumSymbol" message. You wouldn't
> have any thoughts about that, would you?
That indicates that an EnumSymbol object is being passed to a query as a
literal value, without typing information associated with it so that SQLAlchemy
doesn't know to associate your custom TypeDecorator with it.
A phrase such as, x == bindparam("y") , then passing {'y':some_enum_symbol}
as the parameters would have that effect. The solution is to make sure
"type_=MyEnumType" is present on phrases like bindparam() or literal(), where
"MyEnumType" is the TypeDecorator used in the blog post.
If OTOH this is a regular comparison, such as "myclass.my_enum_col ==
some_enum", that should usually work OK unless my_enum_col doesn't have proper
typing information on it.
--
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en.