I think I have reached the limit of what activemapper can do for me! Consider the following example:
class Alarm(ActiveMapper): class mapping: __table__ = "Alarm" alarmID = column(Integer, primary_key=True) variableAID = column(Integer, foreign_key = 'Variable.variableID') variableBID = column(Integer, foreign_key = 'Variable.variableID') variableA = one_to_one('CitectVariable', colname='variableAID', backref='CitectDigitalAlarm') class Variable(ActiveMapper): class mapping: __table__ = "Variable" variableID = column(Integer, primary_key=True) name = column(Unicode(256)) which will produce an error something like: class Variable(ActiveMapper): File "build\bdist.win32\egg\sqlalchemy\ext\activemapper.py", line 284, in __in it__ File "build\bdist.win32\egg\sqlalchemy\ext\activemapper.py", line 196, in proc ess_relationships File "build\bdist.win32\egg\sqlalchemy\ext\activemapper.py", line 181, in proc ess_relationships File "build\bdist.win32\egg\sqlalchemy\orm\mapper.py", line 607, in add_proper ties File "build\bdist.win32\egg\sqlalchemy\orm\mapper.py", line 619, in add_proper ty File "build\bdist.win32\egg\sqlalchemy\orm\mapper.py", line 671, in _compile_p roperty File "build\bdist.win32\egg\sqlalchemy\orm\interfaces.py", line 39, in init File "build\bdist.win32\egg\sqlalchemy\orm\properties.py", line 190, in do_ini t sqlalchemy.exceptions.ArgumentError: Error determining primary and/or secondary join for relationship 'variableA' between mappers 'Mapper|Alarm|Alarm' and 'Mapp er|Variable|Variable'. If the underlying error cannot be corrected, you should specify the 'primaryjoin' (and 'secondaryjoin', if there is an association table present) keyword arguments to the relation() function (or for backrefs, by spec ifying the backref using the backref() function with keyword arguments) to expli citly specify the join conditions. Nested error is "Cant determine join between 'Alarm' and 'Variable'; tables have more than one foreign key constraint relati onship between them. Please specify the 'onclause' of this join explicitly." Am I missing something here? I know its not great database design, but I have what I have so I am going to have to use it. Am I going to have to dig in and put down some bruteforce SQLAlchemy tables? TIA -chris --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com 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 -~----------~----~----~----~------~----~------~--~---