django-orm单表操作

pymysql是什么?ORM是什么?

pymysql是python外置模块,用来链接数据库的。用pymysql直接连接MySQL数据库查询数据,需要有下面几步

  1. import pymysql
  2. 建立连接
  3. 获取光标
  4. 执行SQL语句
  5. 获取数据
  6. 关闭光标
  7. 关闭连接
      使用pymysql连接数据库缺点:
  1. 麻烦
  2. 自己写SQL语句!!!
ORM是一个连接数据库的工具,pymysql使用ORM工具连接数据库 优点:
  1. 不用自己写SQL语句!!!
       ORM 缺点:
  1. 执行效率不高、

 

ORM 是什么

1. 对象关系映射

  类——》 数据表

  属性——》 字段

  对象——》 行

2. django中如何使用ORM,即数据库相关配置

  1. 告诉django链接哪个数据库(settings.py)

DATABASES = {
    'default': {
        # 'ENGINE': 'django.db.backends.sqlite3',#引擎,默认链接sqlite3
        # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),#时期力特路径
        'ENGINE': 'django.db.backends.mysql',#引擎,改为mysql
        'NAME':'s21hao',
        'HOST':'127.0.0.1',
        'PORT':3306,
        'USER':'root',
        'PASSWORD':123
    }

  2. 在mysite/__init__文件中添加下面的代码,告诉django用pymysql链接mysql数据库(默认的是mysqldb)

 

 3. 去app/models.py里创建类

class Publisher(models.Model):
    id=models.AutoField(primary_key=True)
    name=models.CharField(max_length=16)

  4. 然后进入终端执行下面的命令,让django去数据库创建表结构跟数据 

》python manage.py makemigrations   --> 将models.py的改动记录在小本本上

》python manage.py migrate         --> 将变更记录翻译成SQL语句,去数据库执行

发现执行上面命令报错,原因是电脑上装了两个版本的python,python指向的是python2.7.应该使用python3.6

》python3 manage.py makemigrations  

》python3 manage.py migrate      

然后去app下的migarations路径下,会发现多了一个文件;数据库表也有生成表

 

 

 

posted @ 2018-08-14 15:36  非非不可  阅读(88)  评论(0)    收藏  举报