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 にあります。これは、デバッガーがnotまたは event
の型であることを示しているためです。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
しかし、これは機能しません。助言がありますか?