Невозможно присвоить "<Пользователь: 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,
    ),
    ...
    ...
    ...
Вернуться на верх