Hi, I have the following 2 declarative objects to represent a book and its pages:
class Book(Base): __tablename__ = 'books' id = Column(Integer, primary_key=True) title = Column(String(32)) class Page(Base): __tablename__ = 'pages' id = Column(Integer, primary_key=True) book_id = Column(Integer, ForeignKey('books.id'), index=True) content = Column(String(1000)) book = relation(Book, backref='pages', order_by=id) def __init__(self, page_no, content, book_id=None): self.id = page_no self.content = content if book_id is not None: self.book_id = book_id I would like to read and insert info for books in a library (i.e. by calling session.add(Book("My Book")) a vast number of times), keep their database assigned ids in a dictionary and then insert info for pages of these books (i.e. by calling session.add(Page(1, "Hello my book!", 1)) without requiring to fetch book object from database and adding the page to it. However, the book_id field in "pages" table is inserted as NULL instead of the value assigned in the constructor. Is there a way to achieve this behavior? The aim of such kind of approach is to avoid keeping book objects in the memory or retrieving those from database during in the initial creation of the database. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---