model.py
一意の識別子を生成するために、次のことを行いました。
12 def rand_key(size):
13 return ''.join([random.choice(string.letters + string.digits) for i in range(size)])
14
15
16 class Share(models.Model):
17
20 resource_content_type = models.ForeignKey(ContentType)
21 resource_object_id = models.PositiveIntegerField()
22 resource_content_object = generic.GenericForeignKey('resource_content_type', 'resource_object_id')
23
24 identifier = models.CharField(max_length=16,unique=True,default=rand_key(16))
問題は、2 つのレコードを連続して保存しようとすると、エラー メッセージが表示duplicate key value violates unique constraint "share_share_identifier_key"
されることです。これは共通の機能だと確信しています。
私が間違っていることは何ですか?
ありがとう
編集:最初のレコードが問題なく作成され、識別子フィールドに適切な「ランダム」値があることを追加させてください。クラッシュが発生する 2 番目のレコードの作成中です。rand_key
関数が何らかの形でキャッシュされているようです。