Подтвердить что ты не робот

Получение "Следующие типы содержимого устаревают и их необходимо удалить" при попытке выполнить миграцию. Что это значит и как я могу это решить?

Это мои models.py:

class Notification(models.Model):
    user = models.ForeignKey(User)
    createdAt = models.DateTimeField(auto_now_add=True, blank=True)
    read = models.BooleanField(default=False, blank=True)

    class Meta:
        abstract = True

class RegularNotification(Notification):
    message = models.CharField(max_length=150)
    link = models.CharField(max_length=100)

class FNotification(Notification):
    # same as Notification
    pass

Когда я делаю python manage.py makemigrations, это то, что он говорит:

Migrations for 'CApp':
  0019_auto_20151202_2228.py:
    - Create model RegularNotification
    - Create model FNotification
    - Remove field user from notification
    - Add field f_request to userextended
    - Delete model Notification

Во-первых, странно, что он говорит Remove field user from notification, потому что user все еще находится в моей модели Notiication (так что, если кто-нибудь может понять, почему он говорит, что он говорит "удаление пользователя поля из уведомления", это будет отлично!), но тем не менее, когда я перехожу и пытаюсь сделать python manage.py migrate, я получаю это сообщение:

Applying CMApp.0019_auto_20151202_2228... OK
The following content types are stale and need to be deleted:

    CApp | notification

Any objects related to these content types by a foreign key will also
be deleted. Are you sure you want to delete these content types?
If you're unsure, answer 'no'.

    Type 'yes' to continue, or 'no' to cancel: no

Я набрал no. Но что именно это означает, почему я получаю это сообщение и как его сделать, чтобы я не требовал этого сообщения?

4b9b3361

Ответ 1

Сообщение, которое вы получаете, запускается, когда вы удаляете/удаляете модель и выполняете миграцию.

В большинстве случаев вы можете безопасно их удалять. Однако в некоторых случаях это может привести к потере данных. Если другие модели имеют внешний ключ для удаленной модели, эти объекты также будут удалены.

Здесь билет django, который просит сделать удаление более старых типов контента более безопасным.

ИЗМЕНИТЬ

Как указал @x-yuri, этот билет был исправлен и выпущен в Django 1.11.