Hi,

right, it's that

thanks

2012/1/31 Tate Kim <[email protected]>

> **
> Hi,
>
> Have you checked the __iter__ method ?
> ------------------------------
> *From: * Christian Démolis <[email protected]>
> *Sender: * [email protected]
> *Date: *Tue, 31 Jan 2012 17:39:54 +0100
> *To: *sqlalchemy<[email protected]>
> *ReplyTo: * [email protected]
> *Subject: *[sqlalchemy] Overload Query Object
>
> Hi Michael,
>
> i overload class Query in my script.
> i have 4 ways to obtain query's results.
>
> 1/ session.query(model.x).all()
> 2/ session.query(model.x).first()
> 3/ session.query(model.x).one()
> 4/ for e in session.query(model.x):
>         print e
>
> in case 1,2,3, i know which method is used
> What method is used in case 4 ?
>
> Thanks in advance.
> Chris
>
> class Query(Query):
>     def __init__(self, *arg, **kw):
>         self._populate_existing = True
>         super(Query, self).__init__(*arg, **kw)
>
>     def all(self):
>         print "<all>", threading.current_thread()
>         param.lock_bdd.acquire()
>         global session
>         try:
>             x = super(Query, self).all()
>         except exc2.OperationalError:
>             import common
>             common.alerte("L'écriture a échoué. Retentez l'action",
> "Erreur MySQL")
>             session.rollback()
>         except exc2.StatementError:
>             import common
>             common.alerte("L'écriture a échoué. Retentez l'action",
> "Erreur MySQL")
>             session.rollback()
>         except:
>             raise
>         param.lock_bdd.release()
>         print "</all>", threading.current_thread()
>         return x
>
>     def one(self):
>         print "<one>", threading.current_thread()
>         param.lock_bdd.acquire()
>         global session
>         try:
>             x = super(Query, self).one()
>         except exc2.OperationalError:
>             import common
>             common.alerte("L'écriture a échoué. Retentez l'action",
> "Erreur MySQL")
>             session.rollback()
>         except exc2.StatementError:
>             import common
>             common.alerte("L'écriture a échoué. Retentez l'action",
> "Erreur MySQL")
>             session.rollback()
>         except:
>             raise
>         param.lock_bdd.release()
>         print "</one>", threading.current_thread()
>         return x
>
>     def first(self):
>         print "<first>", threading.current_thread()
>         param.lock_bdd.acquire()
>         global session
>         try:
>             x = super(Query, self).first()
>         except exc2.OperationalError:
>             import common
>             common.alerte("L'écriture a échoué. Retentez l'action",
> "Erreur MySQL")
>             session.rollback()
>         except exc2.StatementError:
>             import common
>             common.alerte("L'écriture a échoué. Retentez l'action",
> "Erreur MySQL")
>             session.rollback()
>         except:
>             raise
>         param.lock_bdd.release()
>         print "</first>", threading.current_thread()
>         return x
>
> --
> 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.
>
> --
> 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.
>

-- 
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.

Reply via email to