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.