首先要配置数据映射具体在这个连接里 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. K3CLOUD常用数据表

    一.数据库查询常用表 --查询数据表select * from ( select convert(varchar(4000),t1.FKERNELXML.query('//TableName')) a ...

  2. python之路--初识html前端

    一.HTML文档结构 最基本的HTML文档: <!DOCTYPE html> <html lang="zh-CN"> #这个lang表示语言,zh-CN是中 ...

  3. SpringMVC配置三大组件

    1.组件扫描器 使用组件扫描器省去在spring容器配置每个Controller类的繁琐. 使用<context:component-scan>自动扫描标记@Controller的控制器类 ...

  4. ssl证书部署问题

    问:我现在得到的ssl证书是.crt和.key两个在nginx环境下部署的证书,如果我们改用是tomcat,现在把这两个文件合成了.jks给tomcat使用,合成的时候输入的jks密码是不是就是部署在 ...

  5. Python实现百度贴吧自动顶贴机

    开发这款小工具,我们需要做一些准备: url.txt:多个需要顶起的帖子地址. reply:多条随机回复的内容. selenium:浏览器自动化测试框架 首先,我们先使用pip完成selenium的安 ...

  6. flask 保存文件到 七牛云

    上篇文章队长讲述了如何把前端上传的文件保存到本地项目目录 本篇 讲述一下把前端上传的文件保存到 第三方存储(七牛云) 七牛云相关步骤思路: 首先 进去七牛云官网,注册并实名认证来获取一个七牛云账号和存 ...

  7. reshape

    reshape 编辑 reshape是一种函数,函数可以重新调整矩阵的行数.列数.维数.在matlab命令窗口中键入doc reshape或help reshape即可获得该函数的帮助信息. B = ...

  8. 因为网络安全的重要性打算学习linux

    互联网的普及,在给人们带来巨大便利的同时,也让人们感受到网络安全隐患带给人们的不安与威胁.尤其是随着计算机技术和网络技术应用范围的不断扩充,网络安全方面存在的漏洞也越来越多,在这种情况下,如何提高网络 ...

  9. No more tricks, Mr Nanguo HDU - 3292(pell + 矩阵快速幂)

    No more tricks, Mr Nanguo Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Jav ...

  10. 【XSY1905】【XSY2761】新访问计划 二分 树型DP

    题目描述 给你一棵树,你要从\(1\)号点出发,经过这棵树的每条边至少一次,最后回到\(1\)号点,经过一条边要花费\(w_i\)的时间. 你还可以乘车,从一个点取另一个点,需要花费\(c\)的时间. ...