我有一个用SqlAlchemy映射的表。在该表中是UUID列。当我尝试查询该表时,我得到了bytes_le格式的uuid。有没有什么方法可以告诉mapper返回一个干净的字符串表示?映射器的代码是:
Practice = Table('Practice',metadata,
schema='pulse',autoload=True, autoload_with=engine, quote_schema=True)
class PracticeMap(object):
def __str__(self):
return "%s" % self.Name
def __repr__(self):
return "Name: %s, UUID: %s" % (self.Name, self.uuid)
mapper(PracticeMap,Practice)
感谢。
答案 0 :(得分:1)
您始终可以使用python uuid库重新格式化uuid:
import uuid
uuid_string = str(uuid.UUID(bytes_le=self.uuid))
如果你只需要__repr__的字符串表示就可以了。如果你想让你的对象的uuid属性存在于string-land中,你需要重命名column属性并提供你自己的uuid属性来包装它。