2016-01-30 26 views
5

我有一个Django 1.8的应用程序,它的初始迁移依赖django-interval-field这样的:删除Django的迁移依赖于自定义字段从旧模块

import interval.fields 

migrations.CreateModel(
    name='Item', 
    fields=[ 
     ... 
     ('estimated_time', interval.fields.IntervalField(null=True, blank=True)), 

我,因为迁移这一领域的使用Django的内置在DurationField中,我不再使用此模块,但我需要将它保留在requirements.txt中以便我的迁移运行。

但是,尝试升级到Django 1.9时,此模块会引发错误。另外,我不能永远保留这个模块。这将是很好的摆脱它。

我已经尝试挤压迁移,但挤压的迁移仍包含import interval.fields语句,并创建间隔字段。所有挤压都将所有内容拼接成一个文件。

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

有问题的Django应用程序是here

回答

4

所以,你的挤压是不正确的挤压

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

在所有迁移文件中找到interval.fields.IntervalField的所有声明(适用于型号字段)并替换为IntegerField

只要您在迁移过程中没有使用Interval字段的数据迁移,您应该没问题。