Django--数据库迁移

本文介绍了Django框架的MVT模式,重点讲解了如何创建模型、数据库迁移以及ORM对象关系映射。通过在models.py定义Teacher_Model类,然后在settings.py配置和admin.py注册,最后执行数据库迁移命令,实现数据库与Python类的映射。Django默认使用sqlite3数据库,它轻便且适用于小型项目。
摘要由CSDN通过智能技术生成

Django

Django是用python写的web开发框架,其特点是:

  • 重量级框架,内部封装了很多的功能组件,使开发变的简便快速,
  • MVT模式:前后端分离,高内聚低耦合,m:model,与mvc中的m功能相同,负责和数据库交互,进行数据处理,v:view,与mvc中的c功能相同,接收请求,进行业务处理,返回应答,t:template,与mvc中的v功能相同,负责封装构造要返回的html。
  • orm:对象关系映射,主要实现模型对象到数据库数据的映射。

1、首先要在models.py中建立模型类,示例:

from django.db import models
# Create your models here.

class Teacher_Model(models.Model):
    username = models.CharField(max_length=128, verbose_name='教师名', null=False, blank=False)
    password = models.CharField(max_length=128, verbose_name='密码', null=False, blank=False)

    def __str__(self):
        return self.username

2、在settings.py文件中把models.py所在的子应用也要加入配置项,否则orm数据库无法别识别到

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'school_app',
]

3、将模型类在admin.py中注册

from django.contrib import admin

# Register your models here.
from school_app.models import Teacher_Model

admin.site.register(Teacher_Model)

4、接下来就是数据库迁移的命令

# 初次执行时为了先把默认Django需要的数据库创建出来
python manage.py makemigrations # 创建数据库迁移文件

# 这次执行是为了创建app中的class模型类的迁移文件
python manage.py migrate # 根据数据库迁移文件生成对应SQL语句并执行

在pycharm中Teminal中执行语句

Django中默认的数据库实sqlite3

# Database
# https://docs.djangoproject.com/en/3.0/ref/settings/#databases

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

sqlite是一款轻型的数据库,占用资源特别小,大约几百k内存就够了,它能支持windows/linux/unix等主流的操作系统,储存在磁盘文件中的一个完整的数据库,比一些流行的数据库在大部分普通数据库操作要快,简单,轻松的api,独立:没有额外依赖,支持多种开发语言,以二进制形式存储在本地,负载量在10万以下时性能更佳,省掉了对数据库服务器的远程连接甚至会更快。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值