On Jun 24, 2011, at 12:03 PM, 371c wrote:

> Hi all,
> 
> I have a problem when using the versioned recipe together with
> Association proxy. Some code may make this clear:
> 
> import...
> 
> class ItemKeywordAsso(Base):
> 
>       __tablename__ = "item_keywords"
> 
>        id = Column(Integer, primary_key=True)
>       item_id = Column(Integer, ForeignKey('items.id'), index=True)
>       keyword_id = Column(Integer, ForeignKey('keywords.id'), index=True)
> 
>       item = relationship("Item", backref="item_keywords")
>       keyword = relationship("Keyword", lazy="joined")
> 
>       def __init__(self, item=None, keyword=None):
>                       self.item = item
>                       self.keyword = keyword
> 
> class Item(Base, InnodbTableMixin):
> 
>    __metaclass__ = VersionedMeta
>    __tablename__ = 'items'
> 
>       id = Column(Integer, primary_key=True)
>       name = Column(Unicode(255))
>       description = Column(UnicodeText)
> 
>       keywords = association_proxy("item_keywords", "keyword",
>                                 creator=lambda k: \
>                                     ItemKeywordAsso(keyword=k))
> 
> 
> The Error produced:
> 
> ERROR: Failure: InvalidRequestError (Table 'item_keywords' is already
> defined for this MetaData instance.  Specify 'extend_existing=True' to
> redefine options and columns on an existing Table object.)
> 
> However: If i remove the "__metaclass__= VersionedMeta" in the Item
> class, everything works normally.
> 
> Has anyone come across this? Any suggestions?

i doubt that has anything to do with the association proxy, and it appears like 
the example is inadvertently creating an "item_keywords" table a second time.  
can you provide a full example case ?    


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