I am unsure how to insert into a relationship table.

Here is my table setup:

quiz_question_choices = Table('question_choices', metadata,
        Column('question_id', mysql.MSBigInteger(20, unsigned = True),
ForeignKey('quiz_questions.id', onupdate="CASCADE",
ondelete="CASCADE")),
        Column('choice_id', mysql.MSBigInteger(20, unsigned = True),
ForeignKey('quiz_choices.id', onupdate="CASCADE",
ondelete="CASCADE")),
)


class QuizQuestion(DeclarativeBase):
        __tablename__ = 'quiz_questions'

        id = Column(mysql.MSBigInteger(20, unsigned = True), primary_key =
True, autoincrement = True)
        question = Column(Unicode(200), unique = True)
        correct_choice_id = Column(mysql.MSBigInteger(20, unsigned = True),
ForeignKey('quiz_choices.id'))

        choices = relation('QuizChoice', secondary=quiz_question_choices,
backref='choice')

class QuizChoice(DeclarativeBase):
        __tablename__ = 'quiz_choices'

        id = Column(mysql.MSBigInteger(20, unsigned = True), primary_key =
True, autoincrement = True)
        text = Column(Unicode(180))

I tried

question = QuizQuestion()
question.question = kw['question']
question.correct_choice_id = kw['correct_choice']
question.choices.append(kw['choice_1'])
question.choices.append(kw['choice_2'])
question.choices.append(kw['choice_3'])

But when it gets to "question.choices.append(kw['choice_1'])" I get
"AttributeError: 'unicode' object has no attribute
'_sa_instance_state'"

I want this query to insert into the QuizQuestion table and insert the
quiz_id and choice_id into quiz_question_choices.

kw['choice_1'], kw['choice_2'], kw['choice_3'] are the choice_ids from
quiz_choices which are created using tw.form's SingleSelectField

Could someone tell me what I am doing wrong and how to fix this ?

TurboGears 2 2.0
Python 2.5

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears Trunk" 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/turbogears-trunk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to