On Tue, Dec 26, 2017 at 12:49 PM, Jon Snyder <[email protected]> wrote:
> I've started on this, by adding a new kwarg to Enum that allows passing a
> function which returns the list of values.  What I'm running into - and this
> is just not having a good understanding of the internals - is that by the
> time adapt_emulated_to_native() is called, the original kwargs seem to be
> lost, and the new Enum that is created doesn't know anything about the one
> defined in the Column.  It feels like it's being generated some other way,
> perhaps through some kind of reflection based on the definition in the db
> itself.  Any pointers on the best way to tackle this?

the adapt() method is probably looking for a mapping of instance
variable names to keyword arguments, e.g. if your keyword argument is
called "convert_fn", then you would have a data-member ".convert_fn"
that it looks for.

None of this is required, and it all can be overridden, but if you can
show me an example of the type and the path to create the stack trace
I can answer more fully.



>
> Thanks
>
> On Mon, Dec 4, 2017 at 1:56 PM, Mike Bayer <[email protected]> wrote:
>>
>> On Mon, Dec 4, 2017 at 12:35 PM, Jon Snyder <[email protected]> wrote:
>> > Hi,
>> >
>> > The documentation and code is quite clear that it's the name, not the
>> > value,
>> > of a PEP-435 compliant enum that is persisted to the database.
>> >
>> > My use case is that existing enums already in the db are using strings
>> > that
>> > are not valid python names (they contain spaces).
>> >
>> > How would the community here feel about an option to the Enum
>> > initializer
>> > that would allow using the .value of the enum for its persisted value?
>>
>> Ongoing discussion of this feature can be found at:
>>
>> https://bitbucket.org/zzzeek/sqlalchemy/issues/3906
>>
>> the reservation with persistence of "value" is that the datatype of
>> the values of an Enum, while they may be strings, can be any datatype
>> at all including integers or custom objects, whereas the keys are
>> always strings.    The means of deriving the Enum value as a string
>> should be pluggable (e.g. pass a function).
>>
>>
>> >
>> > Thank you
>> >
>> > --
>> > SQLAlchemy -
>> > The Python SQL Toolkit and Object Relational Mapper
>> >
>> > http://www.sqlalchemy.org/
>> >
>> > To post example code, please provide an MCVE: Minimal, Complete, and
>> > Verifiable Example. See http://stackoverflow.com/help/mcve for a full
>> > description.
>> > ---
>> > You received this message because you are subscribed to the Google
>> > Groups
>> > "sqlalchemy" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> > an
>> > email to [email protected].
>> > To post to this group, send email to [email protected].
>> > Visit this group at https://groups.google.com/group/sqlalchemy.
>> > For more options, visit https://groups.google.com/d/optout.
>>
>> --
>> SQLAlchemy -
>> The Python SQL Toolkit and Object Relational Mapper
>>
>> http://www.sqlalchemy.org/
>>
>> To post example code, please provide an MCVE: Minimal, Complete, and
>> Verifiable Example.  See  http://stackoverflow.com/help/mcve for a full
>> description.
>> ---
>> You received this message because you are subscribed to a topic in the
>> Google Groups "sqlalchemy" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/sqlalchemy/_dgcR9lqY94/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at https://groups.google.com/group/sqlalchemy.
>> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> SQLAlchemy -
> The Python SQL Toolkit and Object Relational Mapper
>
> http://www.sqlalchemy.org/
>
> To post example code, please provide an MCVE: Minimal, Complete, and
> Verifiable Example. See http://stackoverflow.com/help/mcve for a full
> description.
> ---
> You received this message because you are subscribed to the Google Groups
> "sqlalchemy" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/sqlalchemy.
> For more options, visit https://groups.google.com/d/optout.

-- 
SQLAlchemy - 
The Python SQL Toolkit and Object Relational Mapper

http://www.sqlalchemy.org/

To post example code, please provide an MCVE: Minimal, Complete, and Verifiable 
Example.  See  http://stackoverflow.com/help/mcve for a full description.
--- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to