一 操作基础前提准备

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 增删改查基础的更多相关文章

  1. Django中ORM增删改查

    新建模型 class Author(models.Model): nid = models.AutoField(primary_key=True) name=models.CharField( max ...

  2. Django框架(三)—— orm增删改查、Django生命周期

    目录 orm增删改查.Django生命周期 一.orm介绍 二.orm增删改字段 三.Django生命周期 orm增删改查.Django生命周期 一.orm介绍 1.什么是orm ORM即Object ...

  3. ORM增删改查并发性能测试2

    前言 上一篇<ORM增删改查并发性能测试>出现了点小失误,有的输出SQL日志的代码没有禁用,数据库连接字符串可能有问题.统一环境,统一代码后,重新写一篇. 这次重点是并发性能测试,真不是为 ...

  4. 饮冰三年-人工智能-Python-24 Django ORM增删改查

    一:首先使用默认的sqlite3创建表 1:现在在models.py中添加表模型 from django.db import models # Create your models here. cla ...

  5. django ORM 增删改查 模糊查询 字段类型 及参数等

    ORM 相关 #sql中的表 #创建表: CREATE TABLE employee( id INT PRIMARY KEY auto_increment , name VARCHAR (), gen ...

  6. Django 自带的ORM增删改查

     通过Django来对数据库进行增删改查 1 首先创建类,在app应用程序里面的model模块里面创建类,写好数据库信息,方便我们待会初始化: 2 创建在django项目里面的settings里面添加 ...

  7. Django框架(三)-- orm增删改查、Django生命周期

    一.orm介绍 1.什么是orm ORM即Object Relational Mapping,全称对象关系映射. 2.使用orm的优缺点 优点: 不用写SQL语句 开发效率高 缺点: SQL的效率低 ...

  8. day054 组件 CBV FBV 装饰器 ORM增删改查

    组件: ​ 把一小段HTML 放在一个HTML中 nav.html ​ 使用: ​ {% include ‘nav.html ’ %} 一. FBV 和CBV 1.FBV(function base ...

  9. ORM增删改查

    目录 orm django 连接mysql顺序 1 settings配置文件中 2 项目文件夹下的init文件中写上下面内容, 补充 3 models文件中创建一个类(类名就是表名) 4.执行数据库同 ...

随机推荐

  1. linux+vs2013编译静态库和动态库

    Linux下创建与使用静态库 Linux静态库命名规则 Linux静态库命名规范,必须是"lib[your_library_name].a":lib为前缀,中间是静态库名,扩展名为 ...

  2. python 构造函数作用

    1. 构造函数的作用        构造函数主要用来在创建对象时完成对对象属性的一些初始化等操作, 当创建对象时, 对象会自动调用它的构造函数.一般来说, 构造函数有以下三个方面的作用:        ...

  3. kohana操作数据库

    一.读取数据库记录 读取数据库记录需要使用到 DB::select() 方法 // 返回一个结果对象 $result = DB::select('column')->from('table_na ...

  4. Leetcode 868. 二进制间距

    868. 二进制间距  显示英文描述 我的提交返回竞赛   用户通过次数201 用户尝试次数220 通过次数207 提交次数396 题目难度Easy 给定一个正整数 N,找到并返回 N 的二进制表示中 ...

  5. Beta阶段——第5篇 Scrum 冲刺博客

    Beta阶段--第5篇 Scrum 冲刺博客 标签:软件工程 一.站立式会议照片 二.每个人的工作 (有work item 的ID) 昨日已完成的工作 人员 工作 林羽晴 完成了邮箱发送功能的测试,测 ...

  6. Git Diff 格式分析

    参考: http://stackoverflow.com/questions/2529441/how-to-read-the-output-from-git-diff https://www.git- ...

  7. [LeetCode] 94. Binary Tree Inorder Traversal(二叉树的中序遍历) ☆☆☆

    二叉树遍历(前序.中序.后序.层次.深度优先.广度优先遍历) 描述 解析 递归方案 很简单,先左孩子,输出根,再右孩子. 非递归方案 因为访问左孩子后要访问右孩子,所以需要栈这样的数据结构. 1.指针 ...

  8. Qt_Pro详解

    在QT中,有一个工具qmake可以生成一个makefile文件,它是由.pro文件生成而来的,.pro文件的写法如下: 1. 注释 从“#”开始,到这一行结束. 2.模板变量告诉qmake为这个应用程 ...

  9. mvn 修改所有子项目pom版本

    mvn versions:set -DgenerateBackupPoms=false -DnewVersion=1.3.0

  10. Qt动态布局

    QVBoxLayout *m_pvLayout = NULL: QWidget *m_pWidgetPlay = NULL: m_pvLayout = new QVBoxLayout(this); m ...