【发布时间】:2014-06-14 14:17:21
【问题描述】:
鉴于我有一个带有基于 CharField 或 CharField 的模型字段的旧模型,例如:
class MyModel(models.Model):
name = models.CharField(max_length=1024, ...)
...
我需要进行迁移以使其具有最大的max_length。 255. 首先,我正在编写一个datamigration 以使任何超过 255 个字符的值适应即将到来的 schemamigration 以修复列的最大长度,我将在此工作之后立即执行此操作。
问题是我有一个非常非常大的数据集,我知道并非所有行都包含超过 255 个字符的 MyModel.name 值,我想考虑迁移只有那些这样做的人。
django ORM 有什么方法可以只过滤满足这个条件的对象吗?比如:
MyModel.objects.filter(name__len__gte=255)
会很棒,但我相信这是不可能的,或者至少不是这么简单。
有人知道完成这个查询的方法吗?
谢谢!
【问题讨论】:
标签: python django django-south data-migration