创建自定义sqlalchemy类型

时间:2013-12-03 23:52:18

标签: python sqlalchemy

我正在尝试将ipaddress保存在表格中。创建了一个自定义类型,如下所示:

class MCastIP(sqlalchemy.types.TypeDecorator):
  impl = sqlalchemy.types.Integer
  def process_bind_param(self, value, dialect):
    return int(IPAddress(value))
  def process_result_value(self, value, dialect):
    return IPAddress(value)

这似乎工作正常但只是想知道我是否必须实现任何其他功能才能完成。例如:python_type。需要以下吗?什么时候会被调用,如何明确调用并测试它是否有效?

def python_type(self):
   return IPAddress

1 个答案:

答案 0 :(得分:-1)

在正常使用中,不,您拥有的实施就足够了。我有几个自定义类型的实现,并且只定义了我需要的方法" (通常是你在那里使用的)。

examples provided by the documentation中,它永远不会实现。

我承认我不知道在什么情况下(如果有的话)本机库使用它,但由于它没有实现我还没有遇到问题。我无法在SQLAlchemy源代码中找到该方法的任何用法(外部声明),并且怀疑它只是用于内省/探索目的。