Thread: [SQLObject] How to specify a user defined column in ForeignKey
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
From: Asterio G. <ni...@ya...> - 2005-07-17 18:20:11
|
Hello, I am trying to work with an existing database (dotproject) and I need to specify the name of the column. If I write something like this: ------------------------------------------------- class Task(SQLObject): _idName='task_id' _table='tasks' name = StringCol(dbName = 'task_name', length=255) childs = MultipleJoin('Task',joinColumn='task_parent') parent = ForeignKey('Task') ------------------------------------------------- By default, SQLObject try to find the foreingkey in 'parent_id', but the corrent column name for this DB is 'task_parent'. I have read the docs vainly, so I try patch the code adding 'foreignColumn' argument to allow custom names that way: 120,124c120 < origName=None < #<agp: < ,foreignColumn=None < #:agp> < ): --- > origName=None): 165d160 190,196c185 < < #<agp: < if foreignColumn: < self.dbName = foreignColumn < #:agp> < < --- > 385c374 The code seems to work propertly now, ------------------------------------------------- class Task(SQLObject): _idName='task_id' _table='tasks' name = StringCol(dbName = 'task_name', length=255) childs = MultipleJoin('Task',joinColumn='task_parent') parent = ForeignKey('Task',foreignColumn='task_parent') # instead default 'parent_id' t1=Task.get(11) print "T::Name = %s" % t1.name print "T::Childs = %s" % t1.childs print "T::Parent = %s" % t1.parent ------------------------------------------------- My questions are: 1- Is there any other solution or arguments to fix same problem that I have not seen? 2- Is the correct approach? - that SQLObject developers have in mind - Thanks in advance -- Asterio Gonzalez ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es |
From: Asterio G. <ni...@ya...> - 2005-07-17 20:25:03
|
Hello, I am trying to work with an existing database (dotproject) and I need to specify the name of the column. If I write something like this: ------------------------------------------------- class Task(SQLObject): _idName='task_id' _table='tasks' name = StringCol(dbName = 'task_name', length=255) childs = MultipleJoin('Task',joinColumn='task_parent') parent = ForeignKey('Task') ------------------------------------------------- By default, SQLObject try to find the foreingkey in 'parent_id', but the corrent column name for this DB is 'task_parent'. I have read the docs vainly, so I try patch the code adding 'foreignColumn' argument to allow custom names that way: 120,124c120 < origName=None < #<agp: < ,foreignColumn=None < #:agp> < ): --- > origName=None): 165d160 190,196c185 < < #<agp: < if foreignColumn: < self.dbName = foreignColumn < #:agp> < < --- > 385c374 The code seems to work propertly now, ------------------------------------------------- class Task(SQLObject): _idName='task_id' _table='tasks' name = StringCol(dbName = 'task_name', length=255) childs = MultipleJoin('Task',joinColumn='task_parent') parent = ForeignKey('Task',foreignColumn='task_parent') # instead default 'parent_id' t1=Task.get(11) print "T::Name = %s" % t1.name print "T::Childs = %s" % t1.childs print "T::Parent = %s" % t1.parent ------------------------------------------------- My questions are: 1- Is there any other solution or arguments to fix same problem that I have not seen? 2- Is the correct approach? - that SQLObject developers have in mind - Thanks in advance -- Asterio Gonzalez ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es |
From: Oleg B. <ph...@ma...> - 2005-07-18 07:20:49
|
On Sun, Jul 17, 2005 at 08:19:52PM +0200, Asterio Gonzalez wrote: > < if foreignColumn: > < self.dbName = foreignColumn Why not just pass the dbName? Oleg. -- Oleg Broytmann http://phd.pp.ru/ ph...@ph... Programmers don't die, they just GOSUB without RETURN. |
From: Asterio G. <ni...@ya...> - 2005-07-18 17:54:46
|
Thanks Oleg, just it works. I was looking in a wrong way Great! Best Regards -- Asterio --- Oleg Broytmann <ph...@ma...> escribió: > On Sun, Jul 17, 2005 at 08:19:52PM +0200, Asterio > Gonzalez wrote: > > < if foreignColumn: > > < self.dbName = foreignColumn > > Why not just pass the dbName? > > Oleg. > -- > Oleg Broytmann http://phd.pp.ru/ > ph...@ph... > Programmers don't die, they just GOSUB > without RETURN. > > > ------------------------------------------------------- > SF.Net email is sponsored by: Discover Easy Linux > Migration Strategies > from IBM. Find simple to follow Roadmaps, > straightforward articles, > informative Webcasts and more! Get everything you > need to get up to > speed, fast. > http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > _______________________________________________ > sqlobject-discuss mailing list > sql...@li... > https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss > ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es |