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 [email protected].
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.