我在其中执行了以下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))
问题是,当尝试连续保存两条记录时,会duplicate key value violates unique constraint "share_share_identifier_key"
弹出错误消息。我确信这是一个共同的特点。
我做错了什么?
谢谢
编辑:让我添加第一条记录创建没有任何问题,并且标识符字段具有适当的“随机”值。是在发生冲突的第二个记录的板条箱中。似乎该rand_key
功能以某种方式被缓存。