8

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

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 应用程序在这里

4

2 回答 2

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. 完毕
于 2016-01-30T18:32:43.257 回答
1

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

只要您在迁移过程中没有使用 Interval 字段的数据迁移,就可以了。

于 2016-01-30T14:46:29.857 回答