я сделал следующее в моем 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"
поп вверх. Я уверен, что это обычная функция.
Что я делаю неправильно?
Благодаря
Edit: Позвольте мне просто добавить первую запись создается без каких-либо проблем и поле идентификатора имеет propoerly «случайное» значение. Является ли в битве второй записи, которая происходит в результате столкновения. Кажется, что функция rand_key
каким-то образом кэшируется.