0
При определении модели я могу генерировать UUID как это:Генерирование хеш-идентификаторов из первичного ключа с автоинкрементами?
class Blah(Model):
id = Column(Integer, primary_key=True)
uuid = Column(String, default=lambda: str(uuid.uuid4()), unique=True)
но то, что я хочу, чтобы генерировать Хашид на основе первичного ключа, что-то вроде этого (псевдо-код): (https://github.com/davidaurelio/hashids-python)
class Blah(Model):
id = Column(Integer, primary_key=True)
uuid = Column(String, default=lambda: Hashids().encode(pk_id), unique=True)
проблема в том, что я не могу использовать сгенерированный PK изнутри функции python !!
Как я могу достичь этого ???
Что вы имеете в виду? –
u cant do: Hashids(). Encode (), afaik – user1019129
Если ваша БД поддерживает последовательности, вы можете установить первичный ключ для значения по умолчанию 'my_hash_function (nextval (" my_sequence "))'. Вам нужно будет переопределить хэш-функцию в любой используемой вами БД. – univerio