django sqlite3交互

orm设计理念
object relation map
对象关系映射

数据库的表实体的类一一对应
一对一   一对多
表生成类, 类生成表, orm都可以实现
剥离了select语句
-----------------------------------------
定义类来生成数据库
打开blog/models.py,新建一个student类

from django.db import models

# Create your models here.
class Student(models.Model):
    name = models.CharField(max_length = 50)
    age = models.IntegerField()
-----
打开website/setting.py   修改DATABASES配置

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        'NAME': 'blogdb',
    }
}
----
命令行
cd  C:\Users\valex\Documents\django web\website
manage.py syncdb #django 1.7
manage.py makemigrations  #1.9
manage.py migrate #1.9

  • migrate: 用于执行迁移动作
  • makemigrations: 基于当前的model创建新的迁移策略文件
  • sqlmigrate: 显示迁移的SQL语句

这是打开数据库发现已经添加了表blog_student
-----
修改类增加intime属性
...
class Student(models.Model):
    name = models.CharField(max_length = 50)
    age = models.IntegerField()
    intime = models.dateField()
...
命令行
manage.py makemigrations
manage.py migrate
然后再sqliteStudio重新连接数据库就可以看见新加的属性

--------------------------------------------------------------------------------

修改数据库以更新类模型
在sqliteStudio中给student 增加字段sex, 并增加新表teacher
在命令行下执行
manage.py inspectdb
manage.py inspectdb > blog/models.py
修改到models.py

-----------------------------------------------------------------------------------
有时候在sqlite中不能同步类模型,先建个空的,再试一下





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值