следующее должно решить вашу проблему без каких-либо проблем.
Вы можете проверить правильность заполнения данных, проверив поля в django admin, если это необходимо.
Я бы предложилоднако вы настроили свою среду разработки, чтобы вы могли тестировать подобные вещи, не беспокоясь о том, не вызовет ли это проблемы в вашей производственной среде.
Надеюсь, это поможет!
По умолчанию:
Models.py
class ExampleModel(models.Model):
name = models.CharField(blank=True, null=True)
Первое изменение:
Models.py
class ExampleModel(models.Model):
name = models.CharField(blank=True, null=True)
unique_str = models.CharField(blank=True, null=True) # add this here
Выполнить:
python manage.py makemigrations
python manage.py migrate
Затем вы можете запустить скрипт для заполнения вашего unique_str:
# get all model instances
example_models = ExampleModel.objects.all()
# update each unique_str as required
for e in example_models:
e.unique_str = e.pk # add any required logic here to assign value to this variable
e.save()
Наконец:
Models.py
class ExampleModel(models.Model):
name = models.CharField(blank=True, null=True)
unique_str = models.CharField(blank=True, null=True, unique=True) # add unique
, а затем снова выполните:
python manage.py makemigrations
python manage.py migrate