python3 django2で商品管理システムを独学で作っています。
ある4桁の乱数をユニーク生成するコードなのですが、
必ず4桁にならなければいけないのですが0が前に来ると桁数が減ってしまいエラー原因になっています。
ハマってしまい、お知恵をお借りできれば幸いです。
また、こういう記述の方が良いよといったオススメの書き方があれば教えてください。
python
1def number(specified_uuid=None): 2 generate_number = lambda digits: ("{:0" + str(digits) + "d}").format(uuid.uuid4().int % 10 ** digits) 3 4 uuid_candidate = specified_uuid if specified_uuid else generate_number(4) 5 # DB に既に存在する乱数である場合、やり直す 6 if Model.objects.filter(number=uuid_candidate).exists(): 7 return new_number(generate_number(4)) 8 9 return uuid_candidate
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/27 14:44 編集
2018/11/27 15:07
2018/11/27 15:56
2018/11/27 16:41 編集