Почему миграция для удаления базового класса из модели завершается неудачей?

#python #django

#python #django

Вопрос:

У меня есть эта модель, которая наследуется от другой:

 from postman import models

class Message(models.Message):
    subclass_field = TextField(blank=True, null=True)
 

Теперь, когда я удаляю базовый класс postman.models.Message и запускаю makemigrations , я получаю это:

     operations = [
        migrations.RemoveField(
            model_name='message',
            name='message_ptr',
        ),
        migrations.AddField(
            model_name='message',
            name='id',
            field=models.AutoField(auto_created=True, default=1, primary_key=True, serialize=False, verbose_name='ID'),
            preserve_default=False,
        ),
    ]
 

Теперь единственная проблема заключается в том, что при его запуске он говорит следующее:

 django.core.exceptions.FieldError: Local field 'id' in class 'Message' clashes with field of the same name from base class 'Message'.
 

Я делаю что-то не так?

Это довольно простой случай удаления базовой модели из модели, вы могли бы подумать, что это сработает — почему это не работает?

Ответ №1:

 class DiraiveMessage(models.Message)
 

Попробуй это

Сообщение об изменении имени класса