Oops, not quite right. str(table.c.colname) returns 'table.colname", and that doesn't work right as dictionary key. You need "col" only as dictionary key.
http://pastebin.com/fd0653b0 has some tests Interesting question is does SA intend that "table.colname" work in the dictionary definition? -- Mike On Nov 23, 8:58 am, MikeCo <[EMAIL PROTECTED]> wrote: > Your dictionary key CartItemTable.c.colname is an instance of class > Column, The dictionary keys need to be strings. Use str > (CartItemTable.c.colname) to get the string name of the column and it > should work. > > >>> CartItemTable.c.userId > > Column('userId', Integer(), ForeignKey('User.userId'), > table=<CartItem>, primary_key=True, nullable=False)>>> > str(CartItemTable.c.userId) > > 'CartItem.userId' > > -- > Mike > > On Nov 23, 8:12 am, "Petr Kobalíček" <[EMAIL PROTECTED]> wrote: > > > Hi devs, > > > I don't understand one thing: > > > I have table: > > > CartItemTable = sql.Table( > > "CartItem", meta.metadata, > > > # Relations > > sql.Column("userId" , sql.Integer , > > sql.ForeignKey("User.userId"), nullable=False, primary_key=True), > > sql.Column("productId" , sql.Integer , > > sql.ForeignKey("Product.productId"), nullable=False, > > primary_key=True), > > sql.Column("variantId" , sql.Integer , nullable=True, > > default=None), > > > # Count of items in shopping cart > > sql.Column("count" , sql.Integer , > > nullable=False, default=1) > > ) > > > and I want to insert multiple rows to it using sql: > > > Session().execute( > > CartItemTable.insert(), > > [{ > > CartItemTable.c.userId : self.user.userId, > > CartItemTable.c.productId : item.product.productId, > > CartItemTable.c.variantId : vid(item.variant), > > CartItemTable.c.count : item.count > > } for item in self.items] > > ) > > > But this not works and I must use this way: > > > Session().execute( > > CartItemTable.insert(), > > [{ > > "userId" : self.user.userId, > > "productId" : item.product.productId, > > "variantId" : vid(item.variant), > > "count" : item.count > > } for item in self.items] > > ) > > > Why is not working first syntax, what em I missing ? > > > Cheers > > - Petr --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" 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/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---
