我做了我的model.py
下生成一個唯一的標識符,它:可以正確地生成唯一標識符的Django模型
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))
的事情是,當嘗試保存連續兩個記錄,錯誤消息duplicate key value violates unique constraint "share_share_identifier_key"
流行向上。我相信這是一個共同的特點。
我在做什麼錯了?
感謝
編輯:讓我補充的第一條記錄沒有任何問題創建和標識符字段具有propoerly「隨機」值。是在發生衝突的第二條記錄的結尾。看來rand_key
函數是以某種方式緩存的。