以编程方式更改迁移的“托管”选项

2024-04-20 00:02:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Django应用程序,它的模型如下:

class Company(models.Model):
    def __unicode__(self):
        return self.tick

    id = models.AutoField(primary_key=True)
    tick = models.CharField(unique=True, max_length=32)
    name = models.CharField(max_length=128, unique=True)
    name2 = models.CharField(max_length=128)

    class Meta:
        managed = False
        db_table = 'company'

当我执行python manage.py makemigrations时,创建了这个迁移:

migrations.CreateModel(
    name='Company',
    fields=[
        ('id', models.AutoField(primary_key=True, serialize=False)),
        ('tick', models.CharField(max_length=32, unique=True)),
        ('name', models.CharField(max_length=128, unique=True)),
        ('name2', models.CharField(max_length=128)),
    ],
    options={
        'db_table': 'company',
        'managed': False,
    },
)

出于某种原因,我想以编程方式将此迁移中的'managed'字段更改为True,如下所示:

migrations.change_option('Company', 'managed', True)

这可能吗?你知道吗


Tags: nameselfidfalsetruemodelslengthmanaged