Ok, it's solved using joinColumn.
Thanks.
Greetings.
2008/8/12 Oleg Broytmann <[EMAIL PROTECTED]>
> On Tue, Aug 12, 2008 at 06:18:39PM +0200, Luis Javier Peris wrote:
> > I'd like to know if there is a restriction using inheritance about
> > multiplejoin function because I'm getting an error and I don't know why.
> > I've the following code:
> >
> > class Question(InheritableSQLObject):
> > filename = StringCol(default=None, length=255, unique=True)
> > title = StringCol(default=None)
> > default_mark = FloatCol(default=0.0)
> > wording = RelatedJoin('Content')
> > term_questions = RelatedJoin('Term', joinColumn='term',
> > otherColumn='question',
> > intermediateTable='Term_questions')
> > answers = MultipleJoin('Answer')
> > questionref = MultipleJoin('QuestionRef')
> >
> >
> > class Answer(SQLObject):
> > value = StringCol(default=None)
> > calification = FloatCol(default=None)
> > ide = StringCol(default=None)
> > question = ForeignKey('Question')
> >
> >
> > class Ord(Question):
> > _inheritable = False
> > shuffle = BoolCol()
> > orderanswers = MultipleJoin('OrderChoice')
> >
> >
> > class OrderChoice(SQLObject):
> > value = StringCol(default=None)
> > ord = IntCol(default=None)
> > ide = StringCol(default=None)
> > question = ForeignKey('Ord')
> >
> > and when I've a Ord instance (called 'q') and I do 'q.orderanswers' I get
> > the following error:
> >
> > sqlobject.dberrors.OperationalError: Unknown column 'ord_id' in 'where
> > clause'
>
> It has nothing with inheritance. I simplified the program (you have to
> do this yourself) to:
>
> class Ord(SQLObject):
> orderanswers = MultipleJoin('OrderChoice')
>
> class OrderChoice(SQLObject):
> question = ForeignKey('Ord')
>
> Ord.createTable()
> OrderChoice.createTable()
>
> ord = Ord()
> print ord.orderanswers
>
> and got the same error. Well, with this simple program and SQL it
> generates it easy to see where is the problem:
>
> 1/QueryR : CREATE TABLE ord (
> id INTEGER PRIMARY KEY
> )
> 2/QueryR : CREATE TABLE order_choice (
> id INTEGER PRIMARY KEY,
> question_id INT CONSTRAINT question_id_exists REFERENCES ord(id)
> )
> 3/QueryR : INSERT INTO ord VALUES (NULL)
> 4/QueryR : SELECT NULL FROM ord WHERE ((ord.id) = (1))
> 5/QueryR : SELECT id FROM order_choice WHERE ord_id = (1)
>
> Oleg.
> --
> Oleg Broytmann http://phd.pp.ru/ [EMAIL PROTECTED]
> Programmers don't die, they just GOSUB without RETURN.
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's
> challenge
> Build the coolest Linux based applications with Moblin SDK & win great
> prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> sqlobject-discuss mailing list
> sqlobject-discuss@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss
>
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
sqlobject-discuss mailing list
sqlobject-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss