day 67 django 之ORM 增删改查基础
一 操作基础前提准备
1、 新建django 项目 mysite 子项目app01 ,选择好做路径。
2 、2-1在app01 下面models 中引用 模块 from django.db import models
2-2新建一个类C(成功后的表明) 行参(models.Model)
2-3
id = models.AutoField(primary_key=True) #id 自增的数字
name = models.CharField(max_length=20) #varchar(20)
age = models.IntegerField() # 就是int 数字类型 空
2-4 得到的表明前缀是app01_C 想要得到不含有app01加上
class Meta:
db_table = 'C'
3、在settings 设置database
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mysite',
'USER': 'root',
'PASSWORD': '123456',
'HOST': '127.0.0.1',
'PORT': '3306'
}
}
4、在django 项目中的__init__ 引入
import pymysql
pymysql.install_as_MySQLdb()
5、在django 项目中的URLS引入 模块inclue (为了包含子项目的url)
from django.conf.urls import url ,include
from app001 import urls as app001_urls
urlpatterns = [
# url(r'^admin/', admin.site.urls),
url(r'^app001/', include(app001_urls)),
] 6在子项目app01中的URLS frkm app01
from app001 import views urlpatterns = [
# url(r'^admin/', admin.site.urls),
url(r'^user/', views.user ),
] 7 开启项目 两种方法
7-1 上面 RUN manage.py Talk
先登记 makemigrations + 子项目名称app
执行 migrate +子项目名称aPP
7-2 在下边的terminal
先登记 完整版 python manage.py makemigrations
执行 python manage.py migrate

---------------
from django.shortcuts import render
from django.shortcuts import redirect,render,HttpResponse
# Create your views here.
from app001 import models def user(request):
# user_list = models.User.objects.all()
# print(user_list) #因为里面没有内容 结果<QuerySet []> book_list1 = models.Book.objects.all() #查到所有的 在页面上显示
# print(book_list1[0].id,book_list1[0].title,book_list1[0].price) #里面有内容打印结果是对象 列表的格式 #t通过索引取值加上字段 可以取值 1 数学 12
#<QuerySet [<Book: Book object>, <Book: Book object>, <Book: Book object>, <Book: Book object>]>
# book_list2 = models.Book.objects.first()
# print(book_list2) #Book object # 关于filter(条件) 过滤的意思 结果是个列表
# book_list3 = models.Book.objects.filter(id=3)
# print(book_list3) #[<Book: Book object>]> 列表的形式 和拿取所有的.all() 一样
# book_list4 = models.Book.objects.filter(title='语文')
# print(book_list4) #[<Book: Book object>]> 列表对象 # get的取值不是列表 条件不满足就会报错
# book_list5 = models.Book.objects.get(title='语文')
# print(book_list5) #get 得到的是个字符串 Book object # 关于字典的键值对 取值 把字典拆成键值对的方式**的方法
# ?????????????????????????
# dic = {'name': 'wangyan', 'age': 29}
# f1 = models.User.objects.filter(**dic)
# print(f1)
# user_list = models.Book.objects.filter(**dic) #空列表
# print(user_list[0].name)
# # print(list(dic.values())) # 查找id 对应的内荣
# book_list5 = models.Book.objects.filter(id=2)
# if len(book_list5) >0:
# print(book_list5[0].title)
# else:
# print('没有这个用户') # 增加数据的两种方式(添加)
# 第一种
# new_book1 = models.Book(title='化学',price=8.8)
# new_book1.save()
# 第二种直接添加
# new_book2 = models.Book.objects.create(title='化学1',price=8.8)
# 删除数据
# models.Book.objects.filter(id=7).delete()
# 更改数据 通过查找到的字段 修改一整行的数据
# models.Book.objects.filter(id=6).update(title='政治')
# models.Book.objects.filter(title='化学1').update(title='哲学',price='20') return render(request, 'user.html',{'book_list1':book_list1})
day 67 django 之ORM 增删改查基础的更多相关文章
- Django中ORM增删改查
新建模型 class Author(models.Model): nid = models.AutoField(primary_key=True) name=models.CharField( max ...
- Django框架(三)—— orm增删改查、Django生命周期
目录 orm增删改查.Django生命周期 一.orm介绍 二.orm增删改字段 三.Django生命周期 orm增删改查.Django生命周期 一.orm介绍 1.什么是orm ORM即Object ...
- ORM增删改查并发性能测试2
前言 上一篇<ORM增删改查并发性能测试>出现了点小失误,有的输出SQL日志的代码没有禁用,数据库连接字符串可能有问题.统一环境,统一代码后,重新写一篇. 这次重点是并发性能测试,真不是为 ...
- 饮冰三年-人工智能-Python-24 Django ORM增删改查
一:首先使用默认的sqlite3创建表 1:现在在models.py中添加表模型 from django.db import models # Create your models here. cla ...
- django ORM 增删改查 模糊查询 字段类型 及参数等
ORM 相关 #sql中的表 #创建表: CREATE TABLE employee( id INT PRIMARY KEY auto_increment , name VARCHAR (), gen ...
- Django 自带的ORM增删改查
通过Django来对数据库进行增删改查 1 首先创建类,在app应用程序里面的model模块里面创建类,写好数据库信息,方便我们待会初始化: 2 创建在django项目里面的settings里面添加 ...
- Django框架(三)-- orm增删改查、Django生命周期
一.orm介绍 1.什么是orm ORM即Object Relational Mapping,全称对象关系映射. 2.使用orm的优缺点 优点: 不用写SQL语句 开发效率高 缺点: SQL的效率低 ...
- day054 组件 CBV FBV 装饰器 ORM增删改查
组件: 把一小段HTML 放在一个HTML中 nav.html 使用: {% include ‘nav.html ’ %} 一. FBV 和CBV 1.FBV(function base ...
- ORM增删改查
目录 orm django 连接mysql顺序 1 settings配置文件中 2 项目文件夹下的init文件中写上下面内容, 补充 3 models文件中创建一个类(类名就是表名) 4.执行数据库同 ...
随机推荐
- android------基础面试题
1. Android的四大组件是哪些,它们的作用? 答:Activity:Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,它需要为保持各界面的状态,做很多持 ...
- 第一阶段——站立会议总结DAY05
1.昨天做了什么:昨天在个人中心页面上又进行了加工,排版更加规则. 2.今天准备做什么:准备继续学习从网上下载的资料. 3.遇到的困难:界面只能是简陋的,不知道如何办到像微信那样的好看.
- Nodejs--util模块
util.inspect util.inspect是一个将任意对象转换 为字符串的方法,通常用于调试和错误输出. 它至少接受一个参数 object,即要转换的对象. util.inspect(obje ...
- Git中ssh的使用
远程仓库前期工作(SSH HEY的使用) 1.1.注册GitHub账号 1.2.创建SSH Key 打开Git Bash后,输入ssh-keygen -t rsa -C "youremail ...
- telnet的装配及xinetd的讨论
telnet由于是不安全的明文传输所以基本被ssh取代了,尤其是在Linux上:不过还是可能会用到,且启停方式还有些不同所以还是有必要说明一下. rpm -qa | grep telnet #查看是否 ...
- Talend 数据转换
2个系统都有客户信息,产品信息. 要从一个系统a导出数据给另一个系统b用. 有2个方法. 1.在a系统的客户表,产品表加一个字段,记录b系统对应的ID,导出时直接用sql转换了. 2. 用ETL工具转 ...
- summary_20th,Nov 2018
一. 常量: 相对于变量,不改变的量 规定常量名全部大写(实际还是变量) 二:数值的运算符: 1. 算术运算符 + 和, - 减, *乘, / 除(浮点数结果) // 取整, ...
- npm node sass 安装报错
报错为 不能找到python2.7,记得曾经已经安装过python,结果npm install cnpm install npm install node-sass 各种不行,结果在cmd 输入pyt ...
- The type java.lang.Object cannot be resolved
有时候在Eclipse中打开或者导入项目时会出现标题字样的问题:The type java.lang.Object cannot be resolved. It is indirectly refer ...
- Spring boot返回JSON类型响应及Content-Type设置
一.背景 服务器软件用Spring boot开发,API调用的响应消息格式为JSON. 对端调用接口后无法解析响应. 抓包看Response的Body部分确实是正确的JSON格式字符串. 二.问题分析 ...