Djangoのモデル定義で、idの定義にuuid.uuid4
を使用しています。
生成されたidを、ブログなどの詳細ページのキー・URLになるように作っております。
python
1# models.py 2class Model(models.Model): 3 id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
この際、uuid4
を使用しておりますので2cc20bda-9e23-4aee-8c75-51817041a922
のように、ハイフンが3つ含まれています。これを、URLで利用する際にハイフンを取り除いた形で表示したいと考えています。
現状: /articles/2cc20bda-9e23-4aee-8c75-51817041a922
実現したい: /articles/2cc20bda9e234aee8c7551817041a922
しかし、仮に実現できたとして、DB(現在はMariaDBを使用しています)に登録する際にハイフンなしではそもそもUUID型ではなく文字列型として登録されてしまうような気がするので、何か副作用があるのではと考えております。
みなさんは、UUIDのように理論上重複しないようなIDでURLを生成したい際はどのようにしているのでしょうか?
- 上記のようにハイフンを取り除いての登録・利用は問題ないのか、またその実現方法を教えていただければ幸いです。
環境 | バージョン |
---|---|
Python | 3.7.4 |
Django | 2.2.4 |
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/17 10:35