1

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の型であることを示しているためです。unicodeMyUnicodesqlalchemy.Unicode

私はこれをやってみました:

class myunicode(Foo, unicode):
    def bar(self):
        print "myunicode::bar"

class MyUnicode(sqlalchemy.Unicode):

    @property
    def python_type(self):
        return myunicode

しかし、これは機能しません。助言がありますか?

4

1 に答える 1