Django之ORM操作(***)

  http请求的流程:

    url--> 视图view(模板渲染+数据库) -->返回给用户

  ORM的功能:

    可以转换SQL语句,并做操作。

    ORM操作数据表:

      -创建表:在models里写class类,生成数据表。class 类名(models.Model):

      -修改表:修改字段名,可直接,添加字段,要设为字段为空或设默认值。

          age = models.IntegerField(null=True)  设字段内容为空

          age = models.IntegerField(default=1) 设字段内容默认

      -删除表:

    ORM操作数据行:

      -增删改查

  ORM需要理由pymysql第三方工具连接数据库。

  默认连接:

    Django默认连接SQlite,SQlite是文件型数据库

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

  ORM连接MySQL的是MySQLDB:

    但是,py3里没有MySQLDB,所以要进行修改。修改Django默认连接MySQL方式。

    配置数据库:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '数据库名称',
     'USER':"xxxxx",
     'PASSWORD':"xxxxxxx",
     'HOST':"连接的主机ip,本地的写localhost,也可以不写",
     'PORT':""
}
}

  在项目名中的__init__ .py 加:这样,pymysql就会将内部的MySQLdb替换了。

import pymysql

pymysql.install_as_MySQLdb()

  注册APP数据库models:

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'APPS.apps.AppsConfig',
]

  生成数据库:

    python manage.py makemigrations
    python manage.py migrate 

  常用命令:

    python manage.py runserver 0.0.0.0
    python manage.py startapp appname
    python manage.py syncdb

  创建superuser:

    python manage.py createsuperuser

--------- END ----------- 

Django之ORM操作(***)的更多相关文章

  1. Django之ORM操作

    Django之ORM操作 前言 Django框架功能齐全自带数据库操作功能,本文主要介绍Django的ORM框架 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计 ...

  2. Django之ORM操作(聚合 分组、F Q)

    Django之ORM操作(聚合 分组.F Q) 聚合 aggregate()是QuerySet的一个终止子句,也就是说,他返回一个包含一些键值对的字典,在它的后面不可以再进行点(.)操作.   键的名 ...

  3. 【Django】ORM操作#2

    目录 必知必会的13条查询方法 单表查询之神奇的双下划线 一对多 ForeignKey 多对多 ManyToManyField 在Python脚本中调用Django环境 Django终端打印SQL语句 ...

  4. 【Django】ORM操作#1

    目录 一.介绍 概念 由来 优势 劣势 总结 二.Django中的ORM Django项目使用MySQL Model 快速入门 1. AutoField 2. IntegerField 3. Char ...

  5. django的orm操作优化

    django的orm操作优化 models.py from django.db import models class Author(models.Model): name = models.Char ...

  6. Django中ORM操作

    ORM操作: class UserInfo(models.Model): username = models.CharField(max_length=32) password = models.Ch ...

  7. Django的ORM操作

    ORM操作 select * from tb where id > 1 # 对应关系 models.tb.objects.filter(id__gt=1) models.tb.objects.f ...

  8. Django之ORM操作总结

    Django之ORM总结 表结构 from django.db import models # 一对多:班级与学生 # 多对多:班级与老师 # Create your models here. #创建 ...

  9. Django之ORM操作(重要)

    Django ORM操作 一般操作 看专业的官网文档,做专业的程序员! 必知必会13条   <1> all(): 查询所有结果 <2> get(**kwargs): 返回与所给 ...

随机推荐

  1. 洛谷P4114 Qtree1(树链剖分+线段树)

    传送门 LCT秒天秒地用什么树剖 这题可以算是树剖的比较裸的题目了 把每一条边的权值下放到他两边的点中深度较深的那个 然后直接用树剖+线段树带进去乱搞就可以了 //minamoto #include& ...

  2. Taro 小程序 自定义导航栏

    在小程序中,有的页面需求可能需要我们做一个自定义的导航栏, 今天就来踩一踩坑 首先需要在app.js 中给全局的导航栏隐藏, // app.js window: { navigationStyle: ...

  3. js判断是否为ie浏览器,精确显示各个ie版本

    function IETester(userAgent){     var UA =  userAgent || navigator.userAgent;     if(/msie/i.test(UA ...

  4. A - Supercentral Point CodeForces - 165A

    One day Vasya painted a Cartesian coordinate system on a piece of paper and marked some set of point ...

  5. C plus plus sprintf用法

    sprintf int sprintf ( char * str, const char * format, ... ); Write formatted data to string Compose ...

  6. Android 线程池系列教程(4) 启动线程池中的线程和中止池中线程

    Running Code on a Thread Pool Thread 上一课   下一课 1.This lesson teaches you to Run a Runnable on a Thre ...

  7. 1475 建设国家 DP

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1475 这题转化过来就是,给定n个点,每个点都有一个过期时间,一个价值.现 ...

  8. 获取select里面option所有的值

    1.HTML结构 <select id="test"> <option value="option-1">option-1</op ...

  9. RFTWEB测试对象抓取的方法

    本文转自:http://feiyeguohai.iteye.com/blog/1468576 Rational Functional Tester (RFT) 作为 IBM 自己设计研发的自动化测试工 ...

  10. Mybatis 分页插件 PageHelper

    话不多说,直接导入.部署流程. 1. 引入插件依赖包: maven工程中,pom.xml文件下,添加插件配置项: 2. 配置插件拦截器: webapp -> WEB-INF 下添加 .xml配置 ...