I'm Sorry Simon - wrong query...

This is the query that gives me the error

query_obj = engine.query(signals_table.Signals.sig_value,
                                            
 signals_table.Signals.exist_in_frames,
                                            
 signals_table.Signals.local_frames,
                                            clips_table.Clips.clip_name).\
                                      join(clips_table.Clips).\
                                      
filter(signals_table.Signals.message_id == msg_id).\
                                      
filter(signals_table.Signals.signal_id == sig_id).\
                                      
filter(func.format(signals_table.Signals.sig_value, 2) == 
func.format(sig_val, 2)).\
                                      
order_by(signals_table.Signals.sig_value)


On Tuesday, February 24, 2015 at 1:09:12 PM UTC+2, Simon King wrote:
>
> I'm not sure I understand - the line you've shown doesn't include any 
> joins between Signals and Clips, so I don't know why that error would 
> occur. 
>
> In general, if you are seeing that error message, then you need to 
> explicitly tell SQLAlchemy the join condition between the 2 tables. 
> This is normally done using the "primaryjoin" parameter when defining 
> the relationships. 
>
> If you are getting the error at query time and you really *are* 
> performing a join, you can specify the join condition at that time as 
> well: 
>
> http://docs.sqlalchemy.org/en/rel_0_9/orm/tutorial.html#querying-with-joins 
>
> Hope that helps, 
>
> Simon 
>
> On Tue, Feb 24, 2015 at 7:56 AM, eli rashlin <eli.r...@gmail.com 
> <javascript:>> wrote: 
> > Thanks Simon for your replay. 
> > when I'm removing the FK definition from the Column - The tables are 
> being 
> > built as they should - the ptoblem is when i try to perform a join I'm 
> > getting the following error: 
> > 
> > Can't find any foreign key relationships between 'Signals' and 'Clips'. 
> > 
> > and this is the code: 
> > 
> > 
> > return engine.query(func.count(signals_table.Signals.sig_value)).\ 
> > filter(signals_table.Signals.message_id == msg_id).\ 
> > filter(signals_table.Signals.signal_id == sig_id).\ 
> > filter(func.format(signals_table.Signals.sig_value, 2) == 
> > func.format(sig_val, 2)).\ first()[0] 
> > 
> > 
> > and this is the definition of the class Clips: 
> > from datetime import datetime from sqlalchemy import * from 
> sqlalchemy.orm 
> > import relationship from BaseCoverRuns import Base class Clips(Base): 
> > __table_args__ = { 'mysql_engine': 'MyISAM', 'mysql_charset': 'utf8' } 
> > __tablename__ = 'Clips' id = Column(Integer, autoincrement=True, 
> > primary_key=True) clip_name = Column(String(255)) def 
> > get_table_orm_def(self): return self.__table__ def __init__(self, 
> > clip_name=None): self.clip_name = clip_name def __repr__(self): return 
> > "<Clips ('%s')>" % (self.clip_name) 
> > 
> > -- 
> > 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 <javascript:>. 
> > To post to this group, send email to sqlal...@googlegroups.com 
> <javascript:>. 
> > 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