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

Besides, if I try to merge, the item is getting insert in database,
but the relation between channel and item is not created. I also get
the same error.

Any idea?

Thanks in advance!

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalch...@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