gpt4 book ai didi

python - Django 数据库未迁移

转载 作者:行者123 更新时间:2023-11-29 18:22:08 26 4
gpt4 key购买 nike

我使用 Django 1.10

学校/models.py

class School(models.Model):
name = models.CharField(max_length=10,null=False)
school_id = models.CharField(max_length=8,null=False)
weather = models.ForeignKey(Weather,related_name="school")

当我通过添加 eng_name = models.CharField(max_length=50,null=False) 修改学校类(class)

我先删除了迁移文件。

运行命令后:

python manage.py makemigrations school

python manage.py migrate --fake-initial school

python manage.py 迁移学校

迁移的消息是

Operations to perform:
Apply all migrations: school
Running migrations:
No migrations to apply.

但是数据库没有更新。

导致此问题的可能原因是什么?

UPDATAE

迁移/0001_initial.py

class Migration(migrations.Migration):

initial = True

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

operations = [
migrations.CreateModel(
name='School',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=10)),
('eng_name', models.CharField(max_length=50)),
('school_id', models.CharField(max_length=8)),
('weather', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='school', to='weather.Weather')),
],
),
]

python manage.py showmigrations --plan

[X] weather.0001_initial

[X] school.0001_initial

这都是最新的迁移。

最佳答案

Django 将应用的迁移存储在数据库中作为表(django_migrations),其中包含列(id、app、name、apply)。只需删除为“学校”应用程序应用初始迁移的行,然后进行迁移。并且,将来不要删除旧的交易文件。使用它们,django 将为迁移机制创建正确命名的事务。

关于python - Django 数据库未迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46489273/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com