ユーザー認証システムを備えたdjangoベースのWebサイトを持っています。一意でなければならない属性ファイル名を持つモデル (たとえば A) があります。Web ページの特定のボタンをクリックすると、Python ビューの 1 つが次のことを行います。
file=randomNameX()
a=A(filename=file)
a.save()
def randomStringX(length):
s = ''
letters = "0123456789abcdefghijklmnopqrstuvwxyz"
while len(s) < length:
s += letters[random.randint(0, len(letters)-1)]
return s
def randomNameX():
name = randomString(10)
while A.objects.filter(filename="_"+name).count() > 0:
name = randomString(10)
return name
2 人のユーザー (ユーザー 1 とユーザー 2) が同時に同じファイル名を生成し、最初にユーザー 1 に対してデータベース エントリが発生し、属性が一意であるため、ユーザー 2 に対して例外が発生する可能性はありますか?
はいの場合、これを克服する方法を教えてください。