1.工程下建立APP(以WIN10+PYTHON3.6为例)

C:\Users\WYS>django-admin startproject myweb  #建立项目
C:\Users\WYS>cd myweb
C:\Users\WYS\myweb>django-admin startapp myapp #建立项目下属APP

2.APP下的models.py文件中加入表结构(django中之所以把表结构在自身文件中定义,是为了在其他文件中可直接引用表结构进行数据库操作,不用频繁刷新数据表获取表结构)

from django.db import models

# Create your models here.

class book_info(models.Model):
fromuser = models.CharField(max_length=30, default='WYS')
fromsite = models.CharField(max_length=50)
bookname = models.CharField(max_length=50)
#updatetime = models.DateTimeField()
#lastchapter = models.CharField(max_length=100) class site_info(models.Model):
sitename = models.CharField(max_length=50)
bookname = models.CharField(max_length=50)
url = models.CharField(max_length=200)
updatetime = models.DateTimeField()
lastchapter = models.CharField(max_length=100)

3.在myweb/myweb/settings.py中加入创建的APP和MYSQL连接信息

INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp',
)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'test',
'USER': 'test',
'PASSWORD': 'test',
'HOST': 'localhost',
'PORT': '',
}
}

4.将models.py中的数据库表结构同步到MYSQL中

C:\Users\WYS\myweb>python manage.py migrate #创建表结构
C:\Users\WYS\myweb>python manage.py makemigrations myapp #告诉django,myapp中的表结构有更新
C:\Users\WYS\myweb>python manage.py migrate myapp #执行myapp中的表结构到mysql中

数据库中的表名为myapp_book_info,myapp_site_info,但django代码中调用时的表名为models.py中定义的表名book_info,site_info

5.数据表操作-增

from myapp.models import book_info
test1 = book_info(fromuser='testuser',fromsite='testsite',bookname='testbookname')
test1.save()
book_info.objects.create(fromuser='testuser',fromsite='testsite',bookname='testbookname')

6.数据库操作-删

test1 = book_info.objects.get(bookname='testbookname')
test1.delete()
book_info.objects.filter(bookname='testbookname').delete()
book_info.objects.all().delete()

7.数据库操作-改

test1 = book_info.objects.get(bookname='testbookname')
test1.bookname = 'book1'
test1.fromuser = 'user1'
test1.save
book_info.objects.filter(bookname='testbookname').update(fromuser='user1')
book_info.objects.all().update(fromuser='user1')

8.数据库操作-查

list = book_info.objects.all()
for i in list:
print(i.book_name)
list = book_info.objects.filter(bookname='testbookname', fromuser='testuser')  #类似于SQL中的WHERE
list = book_info.objects.filter( fromuser__contains='testuser')  #注意中间是双下划线,类似于SQL中的where fromuser like "%testuser%"
#此外还有icontains(大小写无关的like),startswith和endswith, 还有range(SQL BETWEEN查询)
list = book_info.objects.get(bookname='testbookname')  #返回单条记录,不需要for直接list.bookname使用
list = book_info.objects.filter().exclude().filter() #可无限嵌套
book_info.object.all()[:5]  #前5条记录
book_info.object.order_by(bookname)[2:5] #排序后的第3、4、5条记录
book_info.object.order_by(bookname)[0] #排序后的第1条记录
book_info.object.order_by(bookname)[0:1].get() #排序后的第1条记录
book_info.object.all()[:10:2] #从第1条记录到第11条记录步长为2的数据集
__exact 精确等于 like ‘aaa’
__iexact 精确等于 忽略大小写 ilike ‘aaa’
__contains 包含 like ‘%aaa%’
__icontains 包含 忽略大小写 ilike ‘%aaa%’,但是对于sqlite来说,contains的作用效果等同于icontains。
__gt 大于
__gte 大于等于
__lt 小于
__lte 小于等于
__in 存在于一个list范围内
__startswith 以…开头
__istartswith 以…开头 忽略大小写
__endswith 以…结尾
__iendswith 以…结尾,忽略大小写
__range 在…范围内
__year 日期字段的年份
__month 日期字段的月份
__day 日期字段的日
__isnull=True/False
__isnull=True 与 __exact=None的区别

django+mysql简单总结的更多相关文章

  1. Django mysql应用

    环境:python3.Django2 1.安装驱动mysqlclient pip3 install mysqlclient 2.创建一个数据库 CREATE DATABASE database_nam ...

  2. Ubuntu14.04 Django Mysql安装部署全过程

    Ubuntu14.04 Django Mysql安装部署全过程   一.简要步骤.(阿里云Ubuntu14.04) Python安装 Django Mysql的安装与配置 记录一下我的部署过程,也方便 ...

  3. Ubuntu 14.04下Django+MySQL安装部署全过程

    一.简要步骤.(Ubuntu14.04) Python安装 Django Mysql的安装与配置 记录一下我的部署过程,也方便一些有需要的童鞋,大神勿喷~ 二.Python的安装 由于博主使用的环境是 ...

  4. Django - Django框架 简单介绍

    Django框架 简单介绍 本文地址: http://blog.csdn.net/caroline_wendy/article/details/29172271 1. 介绍 Django是一个开放源码 ...

  5. 【转】Ubuntu 14.04下Django+MySQL安装部署全过程

    一.简要步骤.(阿里云Ubuntu14.04) Python安装 Django Mysql的安装与配置 记录一下我的部署过程,也方便一些有需要的童鞋,大神勿喷~ 二.Python的安装 由于博主使用的 ...

  6. Python Django 实现简单注册功能

    Python Django 实现简单注册功能 项目创建略,可参考前期文档介绍. 目录结构如下 编辑views.py from django.shortcuts import render # Crea ...

  7. Django开发简单采集用户浏览器信息的小功能

    Django开发简单采集用户浏览器信息的小功能 Centos环境准备 yum install –y python-pip export http_proxy=http://10.11.0.148:80 ...

  8. django入门 -- 简单流程

    django入门 -- 简单流程 简介 通过简单示例,使用django完成基本流程的开发,学习django的主要的知识点,在后续课程中会逐个知识点进行深入讲解 以“图书-英雄”管理为示例 主要知识点介 ...

  9. Python Web实战:Python+Django+MySQL实现基于Web版的增删改查

    前言 本篇使用Python Web框架Django连接和操作MySQL数据库学生信息管理系统(SMS),主要包含对学生信息增删改查功能,旨在快速入门Python Web,少走弯路.效果演示在项目实战最 ...

随机推荐

  1. activeMQ类别和流程

    Point-to-Point (点对点)消息模式开发流程 :        1.生产者(producer)开发流程: 1.1 创建Connection: 根据url,user和password创建一个 ...

  2. SQL Server数据库————连接查询和分组查询

    SQL Server数据库————连接查询和分组查询 分组查询 select 列from  <表名> where  …… group by  列 注意:跟order  by一样group ...

  3. Cherrypy文件上传非ASCII文件名乱码问题解决

    Cherrypy 版本: 18.0.1 由于某些特殊原因(可能是与标准兼容的问题),Cherrypy对上传文件的原文件名使用 ISO-8859-1 编码方式解码,导致非 ASCII 的文件名显示为乱码 ...

  4. iOS transform属性的使用

    1.transform属性 在iOS开发中,通过transform属性可以修改UIView对象的平移.缩放比例和旋转角度,常用的创建transform结构体方法分两大类 (1) 创建“基于控件初始位置 ...

  5. Asp.Net Core 实现服务的批量注册注入

  6. 对于windows操作系统磁盘访问权限修改的手残教训

    最近公司新配置的win10电脑,由于测试关于windows系统上项目的安装程序时默认使用了c盘安装,发现安装后的项目不是崩溃就是运行没结果的,偶然间发现同一个安装程序在d盘或其他非系统盘安装则正常.很 ...

  7. Linux定是调用shell脚本删除文件

    编写脚本 vi delbak.sh 代码如下: #!/bin/sh location="/home/mysql/backup/" find $location -mtime +7 ...

  8. Java线程状态转换

    前言:对于Java线程状态方面的知识点,笔者总感觉朦朦胧胧,趁着最近整理资料,将Java线程状态方面的知识点总结归纳,以便加深记忆. 1.Java线程状态值 在Thread类源码中通过枚举为线程定义了 ...

  9. Luogu P5296 [北京省选集训2019]生成树计数

    Luogu P5296 [北京省选集训2019]生成树计数 题目链接 题目大意:给定每条边的边权.一颗生成树的权值为边权和的\(k\)次方.求出所有生成树的权值和. 我们列出答案的式子: 设\(E\) ...

  10. Python Revisited Day 06 (面向对象程序设计)

    目录 6.1 面向对象方法 duck typing 访问限制 __ 6.2 自定义类 6.2.1 属性与方法 预定义的特殊方法 __...__ 一般的方法名起始和结尾不应该使用俩个下划线,除非是预定义 ...