On Jul 19, 2008, at 5:54 AM, HellRaiser wrote:
>
> Hello
>
> I like to implement a custom Table object, which automatically add
> some custome rows to the Table the User create.
>
> #!/usr/bin/env python
> #-*- coding: utf-8 -*-
>
> from addressmanager.model import DBSession
> from sqlalchemy import Table, Column, Integer, ForeignKey, and_
>
>
> class MandateTable(Table):
> def __init__(self, name, metadata, *args, **kwargs):
> Table.__init__(self, name, metadata, *args,
> **kwargs)
> self.append_column(Column("mandate_id", Integer,
> ForeignKey("mandates.mandate_id"), nullable=False))
>
> def query(self, query, mandate):
> return DBSession.query(self).filter(and_(query, "idmand=%i" %
> mandate.mandate_id))
>
> Something llike that.
> But now, when i start the application I got an error, that there is no
> Table object (ähh? but it inherit from Table).
>
> Is there a best practise to extend the table object? or to
> automatically add custom rows to a Table?
Table is not easy to subclass due to the metaclass which controls its
creational pattern. Since all you need here is a creational pattern,
use a def instead:
def MandateTable(*args, **kwargs):
args = args + (Column("mandate_id", Integer, ...),)
return Table(*args, **kwargs)
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---