2017-08-10 58 views
1

私は主キーフィールドとしてモデルとUUIDを持っています。 UUIDのIDが長すぎます。私はそれをYouTubeに似て短くしたいと思います。代わりに、このDjangoで短いuuidを作成するには

UUID('b39596dd-10c9-42c9-91ee-9e45b78ce3c1') 

class Video(models.Model): 
    id = models.UUIDField(
     primary_key=True, 
     default=uuid.uuid4, 
     editable=False, 
    ) 

私はどのように私は上記を達成することができますちょうどこの

UUID('b39596dd') 

をしたいですか?

+0

CharFieldを使用して、そのフィールドにuuid pk manaullyを作成してみませんか? –

+0

@ArpitSolankiはあまりにも多くの作業をしているようですが、どうすればいいでしょうか? – if237912print

答えて

0

uuidの最初の部分はtime_lowと定義されていますので、これを行うことができますが、もうuuid.UUIDの型にはなりません。

sample = uuid.uuid4() 

UUID('6af2fd74-fbaf-4a9a-a973-8d052634a624') 

tl = sample.time_low 

1794309492L 

その後、我々はただあなただけの通常の文字列として、それを分割して同じことを行うことができますが、それは重要なぜ私は表示されません

hex(int(tl.time_low))[2:] 

'6af2fd74' 

、バック進に変換します。これを変数に代入すれば、それは与えられたものなので、あなたが選んだように解析することができます。

+0

どのようにユニークですか?どの時点で問題が発生する可能性がありますか? – if237912print

関連する問題