当前位置:  开发笔记 > 编程语言 > 正文

尝试进行迁移时,获取"以下内容类型已过时且需要删除".这意味着什么,我该如何解决?

如何解决《尝试进行迁移时,获取"以下内容类型已过时且需要删除".这意味着什么,我该如何解决?》经验,为你挑选了1个好方法。

这是我的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.但这究竟是什么意思,为什么我收到这条消息,我该如何做到这一点,以便我不需要这条消息?



1> Rod Xavier..:

删除/删除模型并执行迁移时会触发您收到的消息.

在大多数情况下,您可以安全地删除它们.但是,在某些情况下,这可能会导致数据丢失.如果其他模型具有已删除模型的外键,则这些对象也将被删除.

这是请求删除陈旧内容类型更安全的django票证.

编辑

正如@ x-yuri指出的那样,这张票已被修复并已在Django 1.11中发布.

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有