Sorry, that got cut off at the end.

class IssueTag(Base):
    __tablename__ = 'issue_user_tag'

sqlalchemy.exc.InvalidRequestError: Table 'issue_user_tag' is already 
defined for this MetaData instance.  Specify 'extend_existing=True' to 
redefine options and columns on an existing Table object.

On Thursday, November 15, 2012 7:32:29 PM UTC-5, Rob Crowell wrote:
>
> I'm working with a denormalized cache schema, and I've run into a 
> situation where it would be helpful to be able to create multiple classes 
> that extend Base but refer to the same __tablename__.  Is this possible to 
> do?  I am getting this Exception:
>     sqlalchemy.exc.InvalidRequestError: Table '[tablename]' is already 
> defined for this MetaData instance.  Specify 'extend_existing=True' to 
> redefine options and columns on an existing Table object.
>
> For a little more insight, we have some attributes that always have 
> exactly one value (user who created the issue), and other attributes that 
> can have 1 or more values (user-defined tags for the issue).  If we were 
> being exhaustive, we would create two "cached" tables for our issues since 
> sometimes we want to display recent issues sometimes by user and sometimes 
> by tag:
>     * issue_user
>     * issue_tag
>
> However, we can get away with writing just one table and querying it with 
> an appropriate group_by("user_id") to achieve the same end as having 2 
> tables.  Since my application should behave as if there were 2 separate 
> cache tables (and I'd like to keep open the option of adding two separate 
> cache tables in the future), I would like to have 2 different Base classes 
> representing the two ways in which we would query the table.  The obvious 
> way of doing this doesn't work:
>
> class IssueUser(Base):
>     __tablename__ = 'issue_user_tag'
>
> class IssueTag(Base):
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/sqlalchemy/-/pPc-8bqYaSUJ.
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