Django 模型层选择数据库类型、创建一个表

2019-05-08  本文已影响0人  别动我名字呀

一、ORM介绍

1.什么是ORM

2.ORM优势

(1)只需要面向对象编程, 不需要面向数据库编写代码.

(2)实现了数据模型与数据库的解耦, 屏蔽了不同数据库操作上的差异.

3.ORM劣势
4.ORM和数据库关系:

基本情况:

对象-关系映射

二、创建一个简单的表

1 选择数据库类型

A)sqllte配置

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

B)mysql配置

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'HttpRunner',  # 新建数据库名,创建的表都在这下面
            'USER': 'root',  # 数据库登录名
            'PASSWORD': 'Hst888888',  # 数据库登录密码
            'HOST': '192.168.91.45',  # 数据库所在服务器ip地址
            'PORT': '3306',  # 监听端口 默认3306即可
        }
    }

C)注意事项
django默认导入的驱动是MySQLdb模块【适用于python2】
python3需要的驱动是pymysql,我们需要在项目名文件下的init_.py(settings.py同级的文件)中添加如下代码:

 import pymysql
   pymysql.install_as_Mysqldb()

以上代码就是告诉python使用pymysql,不要使用MySQLdb

2 注册应用

 INSTALLED_APPS = [
            'django.contrib.admin',
            'django.contrib.auth',
            'django.contrib.contenttypes',
            'django.contrib.sessions',
            'django.contrib.messages',
            'django.contrib.staticfiles',
            'app01',#注册APP,上面都是默认值
        ]

3 创建类

在app01/models.py 中写下以下代码:

from django.db import models

#在数据库中创建表名为:app01_userinfo
#Django会自动将应用名称添加在表前面
class UserInfo(models.Model):#创建的类必须继承models.Model
    #当model中如果没有自增列,则自动会创建一个列名为id的主键
    username=models.CharField(max_length=32)
    password=models.CharField(max_length=32)

4 生成数据表

完成以上操作,接下来就是根据models中的类在数据库中生成对应的表

命令行窗口切换到项目根目录执行以下操作:

    python manage.py makemigrations  #在app01/migrations下会生成数据迁移脚本
    python manage.py migrate  #应用到db生成数据表

到这一步一个简单的数据库就创建完成了

上一篇 下一篇

猜你喜欢

热点阅读