I have some problems when I try to update information in some tables. For example, I have this table:
class Channel(rdb.Model): rdb.metadata(metadata) rdb.tablename("channels") id = Column("id", Integer, primary_key=True) title = Column("title", String(100)) hash = Column("hash", String(50)) runtime = Column("runtime", Float) items = relationship(MediaItem, secondary="channel_items", order_by=MediaItem.position, backref="channels") And I have this code:
def insertXML(channels, strXml): channel = Channel() session = rdb.Session() result = "" channel.fromXML(strXml) fillChannelTemplate(channel, channels) rChannel = session.query(Channel).get(channel.id) for chan in channels: if rChannel.id == channel.id: rChannel.runtime = channel.runtime for item in channel.items: if item.id == 0: rChannel.items.append(item) When I do "rChannel.items.append(item)", I got this error:
"FlushError: New instance Channel at 0xaf6e48c with identity key zeppelinlib.channel.ChannelTest.Channel , (152,) conflicts with persistent instance Channel at 0xac2e8ac" However, this instruction is working "rChannel.runtime = channel.runtime".
Any ideas?
Thanks in advance