Works for me:

Python 2.7.10 (default, Aug 22 2015, 20:33:39)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from modelosCaja import *
>>> c = se.query(Caja).get(1)
>>> c
<Caja('1', Cond. None Ent:Eprueba Fch:None Grup:grp', Ent: 50' Sal: 10 
Imp:40.00)>
>>> c.imp
40.0
>>> sa.__version__
‘1.0.8'


Have you tried printing out the things I suggested earlier?

Simon

> On 14 Oct 2015, at 08:58, Cecilio Ruiz <cecili...@gmail.com> wrote:
> 
> 
> 
> Inimport sqlalchemy as sa
> from sqlalchemy.orm import mapper, sessionmaker
> from sqlalchemy.ext.hybrid import hybrid_property, hybrid_method
> from sqlalchemy.ext.declarative import declarative_base
> 
> db_engine = sa.create_engine('sqlite:///caja.sqlite')
> metadata = sa.MetaData()
> Base = declarative_base()
> 
> # Table definition - Conceptos
> # 
> Conceptos_table = sa.Table("Conceptos", metadata,
>     sa.Column('id', sa.Integer, nullable=True, autoincrement=True, 
> primary_key=True),
>     sa.Column('Nombre', sa.String))
> 
> # Table definition - Caja
> # 
> Caja_table = sa.Table("Caja", metadata,
>     sa.Column('id', sa.Integer, nullable=True, autoincrement=True, 
> primary_key=True),
>     sa.Column('id_Conceptos', sa.Integer, sa.ForeignKey("Conceptos.id"), 
> nullable=True),
>     sa.Column('Entidad', sa.String, nullable=True),
>     sa.Column('Fecha', sa.Date, nullable=True),
>     sa.Column('Grupo', sa.Integer, nullable=True),
>     sa.Column('Entrada', sa.Float, default=0, nullable=True),
>     sa.Column('Salida', sa.Float, default=0, nullable=True))
> 
> 
> # Mapping Objects
> class Conceptos(object):
>     def __init__(self, Nombre):
>         #self.id = id
>         self.Nombre = Nombre
> 
>     def __repr__(self):
>         return "<Conceptos('%s', '%s')>" % (self.id, self.Nombre)
> 
> class Caja(object):
>     def __init__(self, id_Conceptos, Entidad, Fecha, Grupo, Entrada, Salida): 
>        
>         self.id_Conceptos = id_Conceptos
>         self.Entidad = Entidad
>         self.Fecha = Fecha
>         self.Grupo = Grupo
>         self.Entrada = Entrada
>         self.Salida = Salida
> 
>     @hybrid_property
>     def imp(self):
>         return float(self.Entrada - self.Salida)
>         
>     def __repr__(self):
>         return "<Caja('%s', Cond. %s Ent:%s Fch:%s Grup:%s', Ent: %i' Sal: %i 
> Imp:%.2f)>" % (self.id, self.id_Conceptos, self.Entidad, self.Fecha, 
> self.Grupo, self.Entrada, self.Salida, self.imp)
> 
> 
> # Declare mappings
> mapper(Conceptos, Conceptos_table)
> mapper(Caja, Caja_table)
> 
> # Create a session
> session = sessionmaker(bind=db_engine)
> se = session()
> metadata.create_all(db_engine)
> 
> 
> 
> This is modelosCaja.py
> Now I open the Python in terminal (CMD)
> ---------------in python terminal----------------------
> from modeloCaja import *
> c = se.query(Caja).imp
> >> the herror.
> 
> 
> 
> 
> 
> El miércoles, 14 de octubre de 2015, 0:05:45 (UTC+2), Simon King escribió:
> Do you perhaps have more than one “Caja” class in your application? Try 
> printing out some of the following values: 
> 
> your_instance.__dict__ 
> type(your_instance) 
> type(your_instance).__dict__ 
> sys.modules[type(your_instance).__module__] 
> 
> Can you drop into pdb at the point where the exception occurs and poke around 
> at the object interactively? 
> 
> Otherwise, you’re going to have to send us a complete script that 
> demonstrates the problem. 
> 
> Simon 
> 
> > On 13 Oct 2015, at 22:37, Cecilio Ruiz <ceci...@gmail.com> wrote: 
> > 
> > The error message says: : "AttributeError: 'Caja' object has no attribute 
> > 'imp' 
> > 
> > Yes, is typo error en email. The imp attibute is lower case. 
> > 
> > El martes, 13 de octubre de 2015, 23:01:34 (UTC+2), Simon King escribió: 
> >   return "<Caja('%s', Cond. %s Ent:%s Fch:%s Grup:%s', Ent: %i' Sal: %i 
> > Imp:%.2f)>" % (self.id, self.id_Conceptos, self.Entidad, self.Fecha, 
> > self.Grupo, self.Entrada, self.Salida, self.imp) 
> > > 
> > 
> > Can you share the full traceback? Caja.Imp doesn’t exist, but Caja.imp 
> > (note lower case “i”) should, so assuming that was a typo in your email, 
> > there must be some other problem. 
> > 
> > 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+...@googlegroups.com. 
> > To post to this group, send email to sqlal...@googlegroups.com. 
> > Visit this group at http://groups.google.com/group/sqlalchemy. 
> > For more options, visit https://groups.google.com/d/optout. 
> 
> 
> -- 
> 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 http://groups.google.com/group/sqlalchemy.
> For more options, visit https://groups.google.com/d/optout.

-- 
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 http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to