Hello.

A have this model.

How to make Order() and Orderitems() objects during one commit()

I'm trying

no = Order()
noi = Orderitem()
no.orderitems.append(noi)
Session.add(no)
Session.commit()

but get an error

IntegrityError: (IntegrityError) null value in column "order_id"
violates not-null constraint 'INSERT INTO....

orders_table = Table('orders', metadata,
    Column('id', types.Integer, primary_key=True, autoincrement=True),
    Column('created', types.DateTime, default=now()),
)

orderitems_table = Table('orderitems', metadata,
    Column('id', types.Integer, primary_key=True, autoincrement=True),
    Column('order_id', types.Integer, ForeignKey('orders.id'),
nullable=False),
    Column('sum', types.Float, default=0),
    Column('created', types.DateTime, default=now()),
)

class Order(BaseModel):
    pass

class Orderitem(BaseModel):
    pass


mapper(Order, orders_table,
        properties={'orderitems': relation(Orderitem, backref='order',
 
primaryjoin=orderitems_table.c.order_id==orders_table.c.id),
    })
mapper(Orderitem, orderitems_table)

-- 
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.

Reply via email to