Thread: [SQLObject] Intermediate Table with extra field (column)
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
From: Leonardo S. <san...@gm...> - 2006-01-03 06:21:02
|
I need to make a table that is a MultipleJoin with a field. The main idea is that a course(in this case each ) is offered to a number of diferent facultieses with a vacant number that differs for each faculty. Maybe the code will be easier to understand: from sqlobject import * connection = connectionForURI('sqlite:///dbs.db') sqlhub.processConnection = connection class Faculdade(SQLObject): numero = StringCol(alternateID=True, length=10) nome = StringCol(length=50) cadeiras = RelatedJoin('Cadeira') Turmas = RelatedJoin('Turma', intermediateTable='Faculdade_turma_vagas') class Cadeira(SQLObject): codigo = StringCol(alternateID=True, length=10) nome = StringCol(length=50) cargahoraria = IntCol() Faculdades = RelatedJoin('Faculdade') turmas = MultipleJoin('Turma') class Turma(SQLObject): letra = StringCol(length=2) cadeira = ForeignKey('Cadeira') Faculdades = RelatedJoin('Faculdade', intermediateTable='Faculdade_turma_vagas') horarios = StringCol(length=200) professor = StringCol(length=200) class Faculdade_turma_vagas(SQLObject): vagas = IntCol() The thing is that this code doesn't work, because I already have a Faculdade_turma_vagas table when sqlobject goes to create the last table. And I am thinking that there must be a more pythonic and clean way of doing it. Can someone please help? |
From: Igor M. <dow...@gm...> - 2006-01-03 06:42:17
|
Someone already made some code for this, and it should be sitting in sqlobject-contrib, and here is the URL that started it: http://xentac.net/~jchu/blog/technology/sqlobject-extra-relatedjoins.html Though maybe one day it will end up in a more mature state in sqlobject cor= e :). -Igor On 1/3/06, Leonardo Santagada <san...@gm...> wrote: > > I need to make a table that is a MultipleJoin with a field. The main idea > is > that a course(in this case each ) is offered to a number of diferent > facultieses > with a vacant number that differs for each faculty. Maybe the code will b= e > easier to understand: > > from sqlobject import * > > connection =3D connectionForURI('sqlite:///dbs.db') > sqlhub.processConnection =3D connection > > class Faculdade(SQLObject): > numero =3D StringCol(alternateID=3DTrue, length=3D10) > nome =3D StringCol(length=3D50) > cadeiras =3D RelatedJoin('Cadeira') > Turmas =3D RelatedJoin('Turma', > intermediateTable=3D'Faculdade_turma_vagas') > > class Cadeira(SQLObject): > codigo =3D StringCol(alternateID=3DTrue, length=3D10) > nome =3D StringCol(length=3D50) > cargahoraria =3D IntCol() > Faculdades =3D RelatedJoin('Faculdade') > turmas =3D MultipleJoin('Turma') > > class Turma(SQLObject): > letra =3D StringCol(length=3D2) > cadeira =3D ForeignKey('Cadeira') > Faculdades =3D RelatedJoin('Faculdade', > intermediateTable=3D'Faculdade_turma_vagas') > horarios =3D StringCol(length=3D200) > professor =3D StringCol(length=3D200) > > class Faculdade_turma_vagas(SQLObject): > vagas =3D IntCol() > > The thing is that this code doesn't work, because I already have a > Faculdade_turma_vagas table when sqlobject goes to create the last table. > And I > am thinking that there must be a more pythonic and clean way of doing it. > Can > someone please help? > > > > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do you grep through log > files > for problems? Stop! Download the new AJAX search engine that makes > searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! > http://ads.osdn.com/?ad_id=3D7637&alloc_id=3D16865&op=3Dclick > _______________________________________________ > sqlobject-discuss mailing list > sql...@li... > https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss > |
From: Oleg B. <ph...@ma...> - 2006-01-03 10:45:51
|
On Tue, Jan 03, 2006 at 06:10:47AM +0000, Leonardo Santagada wrote: > The thing is that this code doesn't work, because I already have a > Faculdade_turma_vagas table when sqlobject goes to create the last table. .createTable(createJoinTables=False) Oleg. -- Oleg Broytmann http://phd.pp.ru/ ph...@ph... Programmers don't die, they just GOSUB without RETURN. |