Невозможно присвоить "<Пользователь: Euler>": "Article.authorr" должен быть экземпляром "User".
Я хочу изменить поле модели с charfield на forignkey пользователя И я не хочу, чтобы моя информация была удалена Сначала я добавил поля, затем перенес данные, затем удалил предыдущие поля
def change_names_of_field(apps, schema_editor):
Article = apps.get_model('blog', 'Article')
article = Article.objects.all()
for s in article:
**s.authorr = User.objects.get(username=s.author)**
if Category.objects.filter(title=s.category).values_list("title", flat=True) == []:
Category.objects.create(title=s.category)
s.categoryy = Category.objects.filter(title=s.category)
s.update = s.created
s.published = s.created
s.status = "p"
s.save()
class Migration(migrations.Migration):
dependencies = [
('blog', '0002_alter_article_created'),
]
operations = [
migrations.AddField(
model_name='Article',
name='authorr',
field=models.ForeignKey(User,on_delete=models.CASCADE,null=True),
preserve_default=False,
),
...
...
...
migrations.RunPython(
change_names_of_field,
),
...
...
...