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.执行数据库同 ...
随机推荐
- bootstrap fileinput组件的使用
组件的下载地址为:https://github.com/kartik-v/bootstrap-fileinput 比较详细的介绍可参看:http://www.jq22.com/jquery-info5 ...
- Hash应用例子
八.Hash应用例子搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节.假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复 ...
- javascript的倒计时功能中newData().getTime()在iOS下会报错问题解决
javascript的倒计时功能中newData().getTime()在iOS下会报错问题解决 在做移动端时间转化为时间戳时,遇到了一个问题,安卓手机上访问时,能拿到时间戳,从而正确转换时间,而在i ...
- WDA基础八:ROWREPEATER的使用
这玩意不知道什么时候用^_^ 组件:Row-Repeater 1.新建WDA程序并激活 ZLYWDA02 2.进入VIEW,创建CONTEXT: 表:0..n 选择行:单选 初始化选择行 3.创建循 ...
- CSS3透明背景+渐变样式
CSS3透明背景+渐变样式 转载自博文:<CSS3透明背景+渐变样式> http://blog.csdn.net/netbug_nb/article/details/44343809 效果 ...
- 2015-09-29 js2
Javasript 六. 条件语句 1. 比较运算符 == .!=.>.>=.<.<= 转大/小写:toUpperCase().toLowerCase() 2. 逻辑运算符(与 ...
- 更改Linux语言环境
查看本地语言环境 locale 中文环境: export LC_ALL=zh_CN.UTF- 英文环境:export LC_ALL=en_US.UTF-8 具体设置其他环境百度...
- vuex状态持久化
npm install vuex-persistedstate 在store.js里 import createPersistedState from 'vuex-persistedstate' co ...
- 【转】[总结]vue开发常见知识点及问题资料整理(持续更新)
1.(webpack)vue-cli构建的项目如何设置每个页面的title 2.vue项目中使用axios上传图片等文件 3.qs.stringify() 和JSON.stringify()的区别以及 ...
- WebSphere安装教程(WAS6.1为例)
1.网络准备 我们选择图形界面安装,如果堡垒机是windows则要在目标机器安装桌面环境并开启vcnserver:如果堡垒机是Linux则在堡垒机安装桌面环境和vncserver,然后将目标机的DIS ...