0
モデルを定義するときに私はこのようなUUIDを生成することができます。自動インクリメントされた主キーからハッシュIDを生成していますか?
class Blah(Model):
id = Column(Integer, primary_key=True)
uuid = Column(String, default=lambda: str(uuid.uuid4()), unique=True)
が、私がしたいことは、主キー、このような何か(擬似コード)に基づいてhashidを生成することです: (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)
問題は、私は内部のPython関数から生成されたPKを使用することはできません!
どうすれば実現できますか?
どういう意味ですか? –
あなたは:Hashids()。encode()、afaik – user1019129
DBがシーケンスをサポートしている場合は、主キーに 'my_hash_function(nextval(" my_sequence "))'のデフォルト値を設定することができます。使用しているDBにかかわらず、ハッシュ関数を再実装する必要があります。 – univerio