hello all, My tables are giving following error at the time of querying. The tables got created properly but when i query on some table it is showing error on other tables.I didnt understand whats the issue here. I am querying on login table it is giving error on debitnote details tables.
Tables: ************************** class Login(Base): __tablename__ = 'login' usercode = Column(Integer,primary_key=True) username = Column(Text) userpassword = Column(Text) userrole = Column(Text) def __init__(self,username,userpassword,userrole): self.username = username self.userpassword = userpassword self.userrole = userrole login_table = Login.__table__ class Account(Base): __tablename__ = "account" accountcode = Column(Integer, primary_key = True) groupcode = Column(Integer, ForeignKey("groups.groupcode"), nullable = False) groups = relation(Groups, backref = backref("Account", order_by = accountcode)) accountname = Column(Text, nullable = False) basedon = Column(Text) accountdesc = Column(Text) openingbalance = Column(Numeric(13,2)) openingdate = Column(TIMESTAMP) initialbalance = Column(Numeric(13,2)) def __init__(self,groupcode,groups,accountname,basedon,accountdesc,openingbalance,openingdate,initialbalance): self.groupcode = groupcode self.groups = groups self.accountname = accountname self.basedon = basedon self.accountdesc = accountdesc self.openingbalance = openingbalance self.openingdate = openingdate self.initialbalance = initialbalance account_table = Account.__table__ class DebitnoteMaster(Base): __tablename__ = "debitnotemaster" vouchercode = Column(String(40), primary_key = True) sbillno = Column(String(40)) voucherdate = Column(TIMESTAMP, nullable = False) reffdate = Column(TIMESTAMP) booktype = Column(Text) chequeno = Column(Text) bankname = Column(Text) debitnarration = Column(Text, nullable = False) def __init__(self,vouchercode,sbillno,voucherdate,reffdate,booktype,chequeno,bankname,debitnarration): self.vouchercode = vouchercode self.sbillno = sbillno self.voucherdate = voucherdate self.reffdate = reffdate self.booktype = booktype self.chequeno = chequeno self.bankname = bankname self.debitnarration = debitnarration debitnotemaster_table = DebitnoteMaster.__table__ class DebitnoteDetails(Base): __tablename__ = "debitnotedetails" dndtcode = Column(Integer, primary_key = True) vouchercode = Column(String(40), ForeignKey("debitnotemaster.vouchercode")) debitnotemaster = relation(DebitnoteMaster, backref = backref("DebitnoteDetails", order_by = dndtcode)) craccountcode = Column(Integer, ForeignKey("account.accountcode"), nullable = False) account = relation(Account, backref = backref("DebitnoteDetails", order_by = dndtcode)) draccountcode = Column(Integer, ForeignKey("account.accountcode"), nullable = False) account = relation(Account, backref = backref("DebitnoteDetails", order_by = dndtcode)) amount = Column(Numeric(13,2), nullable = False) def __init__(self,vouchercode,craccountcode,draccountcode,amount): self.vouchercode = vouchercode self.craccountcode = craccountcode self.draccountcode = draccountcode self.amount = amount debitnotedetails_table = DebitnoteDetails.__table__ **************************** Error: ***************************** Traceback (most recent call last): File "/usr/lib/python2.6/dist-packages/twisted/web/server.py", line 150, in process self.render(resrc) File "/usr/lib/python2.6/dist-packages/twisted/web/server.py", line 157, in render body = resrc.render(self) File "/usr/lib/python2.6/dist-packages/twisted/web/resource.py", line 190, in render return m(request) File "/usr/lib/python2.6/dist-packages/twisted/web/xmlrpc.py", line 118, in render_POST defer.maybeDeferred(function, *args).addErrback( --- <exception caught here> --- File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line 106, in maybeDeferred result = f(*args, **kw) File "/home/sonal/Desktop/gnukhata_alpha/gnukhata-server/GNUKhata-ApplicationServer/rpc_user.py", line 53, in xmlrpc_getUser res = Session.query(dbconnect.Login).filter(dbconnect.Login.username == queryParams[0]).filter(dbconnect.Login.userpassword == queryParams[1]).first() File "/usr/local/lib/python2.6/dist-packages/SQLAlchemy-0.6beta1-py2.6.egg/sqlalchemy/orm/scoping.py", line 127, in do return getattr(self.registry(), name)(*args, **kwargs) File "/usr/local/lib/python2.6/dist-packages/SQLAlchemy-0.6beta1-py2.6.egg/sqlalchemy/orm/session.py", line 875, in query return self._query_cls(entities, self, **kwargs) File "/usr/local/lib/python2.6/dist-packages/SQLAlchemy-0.6beta1-py2.6.egg/sqlalchemy/orm/query.py", line 91, in __init__ self._set_entities(entities) File "/usr/local/lib/python2.6/dist-packages/SQLAlchemy-0.6beta1-py2.6.egg/sqlalchemy/orm/query.py", line 100, in _set_entities self._setup_aliasizers(self._entities) File "/usr/local/lib/python2.6/dist-packages/SQLAlchemy-0.6beta1-py2.6.egg/sqlalchemy/orm/query.py", line 114, in _setup_aliasizers mapper, selectable, is_aliased_class = _entity_info(entity) File "/usr/local/lib/python2.6/dist-packages/SQLAlchemy-0.6beta1-py2.6.egg/sqlalchemy/orm/util.py", line 512, in _entity_info mapper = mapper.compile() File "/usr/local/lib/python2.6/dist-packages/SQLAlchemy-0.6beta1-py2.6.egg/sqlalchemy/orm/mapper.py", line 696, in compile mapper._post_configure_properties() File "/usr/local/lib/python2.6/dist-packages/SQLAlchemy-0.6beta1-py2.6.egg/sqlalchemy/orm/mapper.py", line 725, in _post_configure_properties prop.init() File "/usr/local/lib/python2.6/dist-packages/SQLAlchemy-0.6beta1-py2.6.egg/sqlalchemy/orm/interfaces.py", line 484, in init self.do_init() File "/usr/local/lib/python2.6/dist-packages/SQLAlchemy-0.6beta1-py2.6.egg/sqlalchemy/orm/properties.py", line 735, in do_init self._determine_joins() File "/usr/local/lib/python2.6/dist-packages/SQLAlchemy-0.6beta1-py2.6.egg/sqlalchemy/orm/properties.py", line 826, in _determine_joins "many-to-many relation, 'secondaryjoin' is needed as well." % (self)) sqlalchemy.exc.ArgumentError: Could not determine join condition between parent/child tables on relation DebitnoteDetails.account. Specify a 'primaryjoin' expression. If this is a many-to-many relation, 'secondaryjoin' is needed as well. -- Thanks in advance Njoy the share of Freedom :) Anusha Kadambala -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalch...@googlegroups.com. To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.