从旧模块中删除依赖于自定义字段的 Django 迁移
Removing a Django migration that depends on custom field from an old module
我有一个 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 应用是 here。
在所有迁移文件中找到 interval.fields.IntervalField
的所有声明(对于有问题的模型字段)并替换为 IntegerField
。
只要你没有在迁移过程中使用Interval字段的数据迁移,你应该没问题。
所以,你的压扁不是真正的压扁
- 从
requirements.txt
中删除此包
- 从您的
models.py
中删除 import interval.fields
- 在相关
my_app_label/migrations/1234_some_migrations.py
中将您的 interval.fields.IntervalField(xxx)
修改为 Django 中可用的某种类型
- 完成
我有一个 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 应用是 here。
在所有迁移文件中找到 interval.fields.IntervalField
的所有声明(对于有问题的模型字段)并替换为 IntegerField
。
只要你没有在迁移过程中使用Interval字段的数据迁移,你应该没问题。
所以,你的压扁不是真正的压扁
- 从
requirements.txt
中删除此包
- 从您的
models.py
中删除 - 在相关
my_app_label/migrations/1234_some_migrations.py
中将您的 - 完成
import interval.fields
interval.fields.IntervalField(xxx)
修改为 Django 中可用的某种类型