SqlAlchemy Mapper не возвращает чистые UUID - PullRequest
1 голос
/ 03 августа 2010

У меня есть таблица, которая сопоставляется с SqlAlchemy.В этой таблице столбец UUID.Когда я пытаюсь выполнить запрос к этой таблице, я получаю uuid в формате bytes_le.Есть ли какой-то способ, которым я могу сказать мапперу, чтобы он вместо этого возвращал чистое строковое представление?Код для картографа:

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)

Спасибо.

1 Ответ

1 голос
/ 03 августа 2010

Вы всегда можете переформатировать uuid с помощью библиотеки python uuid:

import uuid
uuid_string = str(uuid.UUID(bytes_le=self.uuid))

Если вам нужно только строковое представление для __repr__, это должно сработать. Если вы хотите, чтобы свойство uuid вашего объекта находилось в string-land, вам нужно переименовать свойство столбца и предоставить собственное свойство uuid для его переноса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...