我有Foo
一个定义为的类:
class Foo(object):
def bar(self):
pass
我想扩展 sqlalchemy 类型:
class MyUnicode(Foo, sqlalchemy.Unicode):
def bar(self):
print "MyUnicode::bar"
并像这样定义表:
Base = declarative_base()
class Table(Base):
__tablename__ = "Table"
first = Column(Unicode(16))
second = Column(MyUnicode(16))
最后,我希望能够在这里使用它:
t = query(Table).first()
t.bar()
问题可能出在 TypeEngine 上,因为调试器显示t
的类型unicode
不是MyUnicode
或什至sqlalchemy.Unicode
我试过这样做:
class myunicode(Foo, unicode):
def bar(self):
print "myunicode::bar"
class MyUnicode(sqlalchemy.Unicode):
@property
def python_type(self):
return myunicode
但这不起作用。有什么建议么?