Внесите файл ForeignKey в мою модель проекта
У меня есть система, которая использует,
class MyModel(models.Model)
book_classes = (("","Select"),("1",'F1'),("2",'F2'),("3",'F3'),("4",'F4'))
b_class = models.CharField('Form',max_length=4,choices=book_classes,default="n/a")
Я хотел бы переключить его на использование внешнего ключа из модели Klass
class Klass(models.Model):
name = models.CharField(max_length=20)
class MyModel(models.Model)
b_class = models.ForeignKey(Klass,on_delete=models.CASCADE)
В системе уже есть много данных, которые используют
class MyModel(models.Model)
book_classes = (("","Select"),("1",'F1'),("2",'F2'),("3",'F3'),("4",'F4'))
b_class = models.CharField('Form',max_length=4,choices=book_classes,default="n/a")
Какое влияние окажет изменение на уже существующие данные?
Это испортит данные, сохраненные в базе данных.
b_class
это CharField
теперь вы конвертируете его в ForeignKey
, что приведет к опустошению данных.
Лучшим способом будет:
1- Экспортировать текущие данные в csv.
2- Создать новый класс class Klass
3- Ввести данные в новый класс с тем же форматом:
id = 1 , name = F1
id = 2 , name = F2
,...
3- Затем конвертируйте ваш MyModel
в новый формат.
4- импортируйте данные из csv