django(新增model)No migrations to apply.

本文介绍了解决在Django 1.8中新建模型后无法在数据库中创建新表的问题。通过删除迁移文件、清空迁移记录并重新运行迁移命令来修复此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

django 1.8版本,在models下新建一个class,无法在数据库创建新表的问题:

- models.py

class HostPwd(models.Model):
    hostname = models.CharField(max_length=32, unique=True)
    username = models.CharField(max_length=24, null=True, blank=True)
    password = models.CharField(max_length=24, null=True, blank=True)
    desc = models.TextField(max_length=32, blank=True, null=True)

-新增 0001_initial.py 文件之后:

migrations.CreateModel(
            name='HostPwd',
            fields=[
                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                ('hostname', models.CharField(unique=True, max_length=32)),
                ('username', models.CharField(null=True, blank=True, max_length=24)),
                ('password', models.CharField(null=True, blank=True, max_length=24)),
                ('desc', models.TextField(null=True, blank=True, max_length=32)),

            ],
        ),

 

解决办法:

第一步:删除该app下migrations 下的__init__.py 文件

第二步:进入数据库,找到django_migrations的表,删除该app名字的所有记录。


第三步:执行下面这两条命令:(在项目目录下)

python manage.py makemigrations
python manage.py migrate

原因:

django_migrations表记录着数据库的对应表的修改记录。
每次修改后,都执行第三步的命令,然后在第一步的文件夹下生成修改的文件,django_migrations表记录修改的变更过程。

转载于:https://www.cnblogs.com/able7/p/8809586.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值