删除依赖于旧模块的自定义字段的Django迁移

nny*_*yby 8 python django django-migrations django-1.8 django-1.9

我有一个Django 1.8应用程序,其初始迁移依赖于django-interval-field,如下所示:

import interval.fields

migrations.CreateModel(
    name='Item',
    fields=[
        ...
        ('estimated_time', interval.fields.IntervalField(null=True, blank=True)),
Run Code Online (Sandbox Code Playgroud)

我已经迁移了这个字段以使用Django的内置DurationField,我不再使用这个模块,但是我需要将它保存在requirements.txt中以便我的迁移运行.

但是,此模块在尝试升级到Django 1.9时会抛出错误.另外,我不能永远保持这个模块.摆脱它会很好.

我已经尝试过压缩迁移,但是压缩的迁移仍然包含该import interval.fields语句,并创建了interval字段.所有压缩都将所有内容连接到一个文件中.

有人能告诉我如何去除这个模块吗?

有问题的Django应用程序就在这里.

mic*_*fan 5

所以,你的挤压并不是真正的挤压

  1. 从中删除此包 requirements.txt
  2. import interval.fields从你的.删除models.py
  3. 修改您interval.fields.IntervalField(xxx)在相关的Django中可用的某些类型my_app_label/migrations/1234_some_migrations.py
  4. 完成