django-models.py的数据库表初始化

一、基本操作

1.基础迁移

# 基于当前的model生成新的迁移策略文件文件
python manage.py makemigrations 
# 执行迁移操作
python manage.py migrate

2.查看建好表的模型

python manage.py inspectdb

3.指定app做表初始化

# 指定app,比如新建了一个app
# 1.python manage.py startapp test
# 并且在该app下新建了个models.py文件和编辑相应内容,这时候只想新增这个app的迁移脚本就可以向下面这样操作
#python manage.py makemigrations test
#python manage.py migrate test
python manage.py makemigrations <appname>
python manage.py migrate <appname>

4.指定文件做表初始化

python manage.py migrate <appname> <filename>

5.导出数据库现有表结构

python manage.py inspectdb > models.py

二、遇到的问题

当我们发现做了初始化后,库里只有基础的权限验证表,而无新增的app中的表,或者指定app的时候出现如下报错

CommandError: No installed app with label 'test'

这都是因为我们没有在settings.py文件中配置新增的app的结果,如下配置即可解决问题。

INSTALLED_APPS = [
    'polls.apps.PollsConfig',  #添加的配置
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'test'
]

三、总结

1.流程

  1. 在models.py中修改模型;
  2. 运行python manage.py makemigrations为改动创建迁移记录;
  3. 运行python manage.py migrate,将操作同步到数据库。

ps: 如果,如果有时候新加的表没有初始化成功,可以将models.py中新加的表删除,重新初始化,然后再次新加到models.py中,再次初始化

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值