On Thu, Sep 29, 2016 at 6:32 AM, Jinghui Niu <niujing...@gmail.com> wrote:
> The documentation shows that hybrid_property should used as a decorator,
> like:
> @hybrid_property
> def my_property(self):
>     pass
>
>
> What if I wanted to give this hybrid property a name by referring a variable
> in runtime? Is this allowed? Thanks.
>

I'm not entirely sure what you mean - I can't imagine a situation
where this would be useful. But you ought to be able to add hybrid
properties to a class after the class has been defined, and you can
use setattr if the name is stored in a variable. So I imagine
something like this ought to work:

def fget(self):
    # code when property is accessed on instance
    pass

def fset(self, value):
    # code when property is assigned to
    pass

def expr(cls):
    # code when property is accessed on class
    pass

prop = hybrid_property(fget, fset=fset, expr=expr)

# Add the hybrid property to a class under the name "propertyname"
setattr(SomeClass, 'propertyname', prop)

Hope that helps,

Simon

-- 
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 sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to