当前位置: 代码迷 >> python >> Django 1.10.5:即使迁移后,关系“ myapp_mymodel”也不存在
  详细解决方案

Django 1.10.5:即使迁移后,关系“ myapp_mymodel”也不存在

热度:100   发布时间:2023-06-13 20:20:33.0

我在model.py中有一个Django应用“ myapp”:

在同一个文件夹中,我有一个migrations文件夹,其中包含一个空的__init__.py和2个文件:

from django.db import models
from django.contrib.postgres.fields import ArrayField

class Characteristic(models.Model):
    name = models.CharField(max_length=200)
    core = models.BooleanField(default=False)
    synonyms  =  ArrayField(
        models.CharField(max_length=200, blank=True),
        size=20
        )

0001_initial.py

from __future__ import unicode_literals

import django.contrib.postgres.fields
from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='characteristics',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=200)),
                ('synonyms', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, max_length=200), size=20)),
            ],
        ),
    ]

第二档:

from __future__ import unicode_literals

from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('myapp', '0001_initial'),
    ]

    operations = [
        migrations.AddField(
            model_name='characteristics',
            name='core',
            field=models.BooleanField(default=False),
        ),
    ]

但是,在视图中,尝试创建模型的实例时:

characteristic = Characteristic(name=attribute.decode('utf-8'), synonyms=[])
characteristic.save()

我收到一个错误:

ProgrammingError: relation "myapp_characteristic" does not exist

我确实做了: python manage.py makemigrations myapp ,我位于from myapp.models import Characteristic文件的顶部

有人知道我错了吗?

Makemigrations命令只是为数据库中的更改创建迁移。 它可以在数据库中执行任何类型的修改。

python manage.py migrate

上面的命令在数据库中进行实际修改,并在迁移表中创建一个条目。 以便Django可以了解实际迁移了哪些迁移