首先要配置数据映射具体在这个连接里 https://www.cnblogs.com/Niuxingyu/p/10296143.html

Django 建立数据库模型

#导包导入django数据库类
from django.db import models #建立数据库类
class User(models.Model):
#主键 通过参数声明主键
id = models.IntegerField(primary_key=True)
#用户名 字符串类型需要声明长度限制
username = models.CharField(max_length=255)
#密码
password = models.CharField(max_length=255)
#这个class名必须为Meta 声明表名
class Meta:
#必须和数据库中的表名吻合
db_table = 'user'

建立完成后导包前需要在settings.py配置文件里把自己的文件夹添加到django应用内

#已安装的django应用

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
#将自己的应用,填充到配置文件中去
'mysite'
]

建立完成后就可以直接导包调用了

#导图自定义的数据库模型
from mysite.models import User #定义首页视图方法
def index(request):
# 建立实例
# user = User(username="新用户",password="root")
#入库操作(增)
# user.save() #删除数据(删)
# User.objects.filter(username="xin'y").delete() #修改数据(改)
# user = User.objects.get(id=2)
#修改
# user.username = "123"
#保存修改
# user.save() #修改数据(改) 第二种方式
# User.objects.filter(id=4).update(password="新密码") #查询全部数据 翻译为 select * from user; all()返回的是list
res = User.objects.all()
# print(res) #查询限定条件的数据 翻译为 select * from user where username = "新用户" and逻辑使用多个参数传递
res = User.objects.filter(username="新用户",password="新密码")
# print(res) #只取一条 翻译 select * from user where id = 1
res_one = User.objects.get(id=2)
# print(res_one) #排除条件 翻译 select * from user where username != '新用户'
res = User.objects.exclude(username='新用户') #定制字段显示 翻译 select password from user where name = '新用户'
res_s = User.objects.filter(username="新用户").values('password') # print(res_s) #排序 翻译为 select * from user orderby id asc 倒序使用 reverse()
res = User.objects.order_by('password').reverse() #去重 翻译为 select distinct(username) from user where username = '新用户'
res_dis = User.objects.filter(username="新用户").values('username').distinct()
# print(res_dis) #去数量 翻译为 select count(*) from user
res_count = User.objects.filter(username="新用户").count()
print(res_count) return render(request,'d4_index.html',locals())

使用原生sql(开发时不建议使用因为原生语句在开发时每个人有每个的写法和喜欢工作交接时会有麻烦)

#导图connection模块用来修改或者删除操作
from django.db import connection # 建立试图方法
def index(request): #执行原生sql语句 raw方法内,可以写任意的sql语句
#使用raw方法只能用来查询
res = User.objects.raw(' select * from user limit 1 ')
#对raw对象进行格式化 需要注意:使用raw原生sql,返回结果集和传统orm方法有区别
res = list(res)
print(res) #定义游标对象用来执行sql语句
# with connection.cursor() as c:
# c.execute("update user set password='666' where id=4 ")
# 跟上行代码一样两种写法
# connection.cursor().execute("update user set password='766' where id=4 ")
#进行删除操作
# with connection.cursor() as c:
# c.execute("delete from user where id=6")
# 跟上行代码一样两种写法
# connection.cursor().execute("delete from user where id=7") #入库操作 时间类型
#实例化对象
#这里使用了获取当前时间 from datetime impost datetime
# user = User(username="测试",password="123",time=datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
# user.save()

Django 数据库常见操作的更多相关文章

  1. Django 数据库进阶操作

    基本操作 # 增 # # models.Tb1.objects.create(c1='xx', c2='oo') 增加一条数据,可以接受字典类型数据 **kwargs # obj = models.T ...

  2. Redis缓存数据库常见操作

    Jedis的最为常见的操作.主要包括常用的列表(list).集合(set).有序集合(sorted set).哈希表(hash)等数据结构,以及其他特性支持. 参考资料:http://hello-ni ...

  3. MySQL数据库常见操作

    数据库连接与关闭:mysql -h 服务器主机地址 -u 用户名 -p 用户密码 创建新用户并授权:grant 权限 on 数据库.数据表 to 用户名@登录主机 identified by &quo ...

  4. Django数据库相关操作

    首先,在settings.py中加入应用的名称,让数据库知道使用的是哪个应用,然后给那个应用创建表. 在settings.py中配置数据库相关参数,默认使用sqlite3不用配置 编辑models.p ...

  5. mongodb数据库安装及常见操作

    客户端和服务端的安装 # rpm -ivh mongo-10gen-2.4.6-mongodb_1.x86_64.rpm mongo-10gen-server-2.4.6-mongodb_1.x86_ ...

  6. Django 数据库操作

    Django 数据库操作 Django运算表达式与Q对象/F对象 1 模型查询 概述: 1 查询集:表示从数据库中获取的对象的集合 2 查询集可以有多个过滤器,通过 逻辑运算符连接 3 过滤器就是一个 ...

  7. django数据库操作和中间件

    数据库配置 django的数据库相关表配置在models.py文件中,数据库的连接相关信息配置在settings.py中 models.py相关相关参数配置 from django.db import ...

  8. Django数据库操作

    刚学到Django的数据库操作,把它记录下来,方便以后查看: 在Django中定义数据库表,并使用Django提供的方法来对数据库进行操作(增.删.改.查) 1.定义3个数据库表: class Gro ...

  9. 从命令行运行django数据库操作

    从命令行运行django数据库操作,报错: django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_T ...

随机推荐

  1. hive字符函数

  2. hive条件过滤

    where 过滤 %代表任意个字符,_代表一个字符; \\ 转移字符.\\_代表下划线

  3. wiki 安装

    地址:https://www.jianshu.com/p/fb2574567eae

  4. JSP从入门到精通

    1. jsp开发环境配置 在windows下配置jsp的开发环境: 假设已经安装好了jdk,下面来配置tomcat 去http://tomcat.apache.org 下载tomcat windows ...

  5. CSS 的三种样式 内联 内部 外部

    CSS:层叠样式表的缩写 就是 Cascading Style Sheets Cascading Style Sheets : 层叠样式表 优先级问题 :遵守就近原则  内联> 内部>外部 ...

  6. @Html自定义属性

    @Html.DropDownList("CardCode", (SelectList)ViewData["cardcodeselectlist"], " ...

  7. Promise.all和Promise.race区别,和使用场景

    一.Pomise.all的使用 常见使用场景 : 多个异步结果合并到一起 Promise.all可以将多个Promise实例包装成一个新的Promise实例.用于将多个Promise实例,包装成一个新 ...

  8. Kibana-4.6.6 marvel插件license过期重新注册

    1.注册新的license,https://register.elastic.co/marvel_register,注册完毕邮箱收取下载地址,将新的license下载到本地 2.到license所在目 ...

  9. HTML协议

    一,HTML协议 简介 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式.协作式和超媒体信息系统的应用层协议.HTTP是万维网的数据通信的 ...

  10. codeforces1101D GCD Counting 【树形DP】

    题目分析: 蛮简单的一道题,对于每个数拆质因子,对于每个质因子找出最长链,在每个地方枚举一下拼接 代码: #include<bits/stdc++.h> using namespace s ...