is that 0.8?   that particular issue should have been fixed.

On Apr 26, 2013, at 2:50 PM, Richard Gerd Kuesters <[email protected]> 
wrote:

> Hey Mike!
> 
> I'm almost there :) The only problem now is with a column that returns a 
> postgres ARRAY type.
> 
> When labeling is not applied, I get the same error as before:
> 
> sqlalchemy.exc.NoSuchColumnError: "Could not locate column in row for column 
> 'connect_path'"
> 
> But, when I apply a label on it, another error returns:
> 
> File 
> "/home/richard/.../python2.7/site-packages/sqlalchemy/util/_collections.py", 
> line 684, in unique_list
>     if hashfunc(x) not in seen
> TypeError: unhashable type: 'list'
> 
> 
> Any ideas? Perhaps I'm missing something?
> 
> 
> Best regards,
> Richard.
> 
> 
> 
> 
> On 04/25/2013 07:31 PM, Richard Gerd Kuesters wrote:
>> Hmm, I was thinking in labeling this evening. I'll try tomorrow when I get 
>> to work and then try this alternative. Maybe it works and avoids my 
>> workaround :)
>> 
>> Thanks Mike.
>> 
>>  
>> Best regards,
>> 
>> Richard.
>> 
>>  
>> Em 2013-04-25 19:20, Michael Bayer escreveu:
>> 
>>> using explicit labels is the best approach to bypass SQLA's labeling 
>>> schemes, such as this example:
>>> from sqlalchemy import *
>>> from sqlalchemy.orm import *
>>> from sqlalchemy.ext.declarative import declarative_base
>>> Base = declarative_base()
>>> class A(Base):
>>>     __tablename__ = 'a'
>>>     id = Column(Integer, primary_key=True)
>>>     x = Column(Integer)
>>>     y = Column(Integer)
>>> e = create_engine("sqlite://", echo=True)
>>> Base.metadata.create_all(e)
>>> sess = Session(e)
>>> sess.add_all([
>>>     A(x=1, y=2),
>>>     A(x=2, y=5),
>>>     A(x=3, y=3),
>>> ])
>>> sess.commit()
>>> stmt = select([A.id, A.x, A.y, (A.x + A.y).label('xplusy')])
>>> print sess.query(A, stmt.c.xplusy).from_statement(stmt).all()
>>> On Apr 25, 2013, at 12:47 PM, Richard Gerd Kuesters 
>>> <[email protected]> wrote:
>>> 
>>>> Yeah, well, it is a select but didn't work. I also made another select on 
>>>> top of it (to be sure), but the "error" persists (could not locate column 
>>>> ...).
>>>> 
>>>> Nevermind about it, I think it's not a question of good usage of SA I 
>>>> think :)
>>>> 
>>>> Thanks for your help!
>>>> 
>>>> Cheers,
>>>> Richard.
>>>> 
>>>> 
>>>> On 04/25/2013 01:22 PM, Michael Bayer wrote:
>>>>> if the original "q" is a select(), this should work:
>>>>> query(MyClass, q.c.somecol, q.c.someothercol).from_statement(q)
>>>>> if not then I guess I'll screw around with it to see what works.
>>>>> 
>>>>> On Apr 25, 2013, at 10:37 AM, Richard Gerd Kuesters 
>>>>> <[email protected]> wrote:
>>>>> 
>>>>>> Yup, I agree with you, but things are a little out of hand for me to use 
>>>>>> ORM-level queries. I'll see what I can do ...
>>>>>> 
>>>>>> Thanks! :)
>>>>>> Cheers,
>>>>>> Richard.
>>>>>> 
>>>>>> On 04/25/2013 11:31 AM, Michael Bayer wrote:
>>>>>>> you'd need to organize things differently for the column grabbing to 
>>>>>>> work out.
>>>>>>> I'd advise producing the query using ORM-level Query in the first place 
>>>>>>> so that you don't need to use from_statement(), which is really a last 
>>>>>>> resort system.
>>>>>>> 
>>>>>>> On Apr 25, 2013, at 10:27 AM, Richard Gerd Kuesters 
>>>>>>> <[email protected]> wrote:
>>>>>>> 
>>>>>>>> Well, not the desired result ... Now things justs blows :-) 
>>>>>>>> 
>>>>>>>> sqlalchemy.exc.NoSuchColumnError: "Could not locate column in row for 
>>>>>>>> column 'anon_1.level'"
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Cheers,
>>>>>>>> Richard.
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On 04/25/2013 11:03 AM, Michael Bayer wrote:
>>>>>>>>> why not just say session.query(MyObj, q.alias()) ?        creating 
>>>>>>>>> ad-hoc mappers is relatively expensive.
>>>>>>>>> 
>>>>>>>>> On Apr 25, 2013, at 8:56 AM, Richard Gerd Kuesters 
>>>>>>>>> <[email protected]> wrote:
>>>>>>>>> 
>>>>>>>>>> Well, probably nevermind because I made a workaround that satisfies 
>>>>>>>>>> me (may not be elegant, but that's OK).
>>>>>>>>>> 
>>>>>>>>>> Basically, I created the "o" type a little different: "o = 
>>>>>>>>>> type('MyObjExt', (Base,), {'__table__':q.alias('q')})" and append it 
>>>>>>>>>> to the query like: "session.query(MyObj, o).from_statement(q).all()"
>>>>>>>>>> 
>>>>>>>>>> Okay, now it returns a typle, but at least I don't have to make a 
>>>>>>>>>> second query :)
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> Cheers,
>>>>>>>>>> Richard.
>>>>>>>>>> 
>>>>>>>>>> On 04/25/2013 09:41 AM, Richard Gerd Kuesters wrote:
>>>>>>>>>>> Hi all,
>>>>>>>>>>> 
>>>>>>>>>>> I've been playing with "sqla_hierarchy" from 
>>>>>>>>>>> https://github.com/marplatense/sqla_hierarchy .
>>>>>>>>>>> 
>>>>>>>>>>> The problem is: the returned query appends 3 columns: level 
>>>>>>>>>>> (Integer), is_leaf (Boolean) and connect_path (pg ARRAY).
>>>>>>>>>>> 
>>>>>>>>>>> So far, so good. If I execute the query using 
>>>>>>>>>>> "session.execute(q).fetchall()", it works like a charm. But, as we 
>>>>>>>>>>> know, "session.execute" returns a RowProxy, not objects. Using 
>>>>>>>>>>> "session.query(MyObj).from_statement(q).all()", I'm able to get my 
>>>>>>>>>>> mapped objects, but without the extra columns that would make me 
>>>>>>>>>>> very pleased (level, is_leaf, connect_path). Is there a way to get 
>>>>>>>>>>> around this?
>>>>>>>>>>> 
>>>>>>>>>>> I have done testings using "o = type('MyObjExt', (MyObj,), 
>>>>>>>>>>> {'__table__': q}" and them use it on the session.query, *but* it 
>>>>>>>>>>> looses foreign key references - or, well, I don't know how to 
>>>>>>>>>>> "explain" this to the mapper (?), since MyObj is polymorphic 
>>>>>>>>>>> (probably the pitfall?).
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> Thanks for your time and help.
>>>>>>>>>>> 
>>>>>>>>>>> Best regards,
>>>>>>>>>>> Richard.
>>>>>>>>>>> -- 
>>>>>>>>>>> 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 http://groups.google.com/group/sqlalchemy?hl=en.
>>>>>>>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>>>>>>>  
>>>>>>>>>>>  
>>>>>>>>>> -- 
>>>>>>>>>> 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 http://groups.google.com/group/sqlalchemy?hl=en.
>>>>>>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>>>>>>  
>>>>>>>>>>  
>>>>>>>>> -- 
>>>>>>>>> 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 http://groups.google.com/group/sqlalchemy?hl=en.
>>>>>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>>>>>  
>>>>>>>>>  
>>>>>>>> -- 
>>>>>>>> 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 http://groups.google.com/group/sqlalchemy?hl=en.
>>>>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>>>>  
>>>>>>>>  
>>>>>>> -- 
>>>>>>> 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 http://groups.google.com/group/sqlalchemy?hl=en.
>>>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>>>  
>>>>>>>  
>>>>>> -- 
>>>>>> 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 http://groups.google.com/group/sqlalchemy?hl=en.
>>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>>  
>>>>>>  
>>>>> -- 
>>>>> 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 http://groups.google.com/group/sqlalchemy?hl=en.
>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>  
>>>>>  
>>>> -- 
>>>> 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 http://groups.google.com/group/sqlalchemy?hl=en.
>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>  
>>>>  
>>> 
>>>  
>>> -- 
>>> 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 http://groups.google.com/group/sqlalchemy?hl=en.
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>  
>>>  
>>> 
>> -- 
>> 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 http://groups.google.com/group/sqlalchemy?hl=en.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>  
>>  
> 
> 
> -- 
> 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 http://groups.google.com/group/sqlalchemy?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>  
>  

-- 
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 http://groups.google.com/group/sqlalchemy?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to