Python/Django(CBV/FBV/ORM操作)
Python/Django(CBV/FBV/ORM操作)
CBV:url对应的类(模式)
##====================================CBV操作============================ # class geting(View):
# def dispatch(self, request, *args, **kwargs):
# print('before')
# obj = super(geting,self).dispatch(request,*args,**kwargs)
# print('after')
# return obj
#
# def get(self,request):
# print('get.get')
# return render(request,'geting.html')
#
# def post(self,request):
# print('get.post')
# print(request.POST.get('user'))
# return HttpResponse('get.post')
FBA:url对应的函数(模式)
##===================================FBV操作============================
def get(request):
print(2222)
return HttpResponse('is get') '''
get 查
post 创建
put 更新
delete 删除 常用传值方式
'''
ORM操作
##=====================================ORM操作=========================================
def gets(request):
pass
# for row in range(300):
# name='root'+str(row)
# models.UserInfo.objects.create(name=name,age=18,ut_id=1)
# models.UserInfo.objects.create(name="方少伟",age=18,ut_id=1),
# models.UserInfo.objects.create(name="刘庚",age=18,ut_id=2),
# models.UserInfo.objects.create(name="尤勤兵",age=18,ut_id=3),
# models.UserInfo.objects.create(name="王哲",age=18,ut_id=1),
# models.UserInfo.objects.create(name="陈涛",age=18,ut_id=2),
# models.UserInfo.objects.create(name="小白",age=18,ut_id=3), # models.UserType.objects.create(title="普通用户")
# models.UserType.objects.create(title="二逼用户")
# models.UserType.objects.create(title="牛逼用户")
# return HttpResponse('ok') ##========================================正向查找===============================================
# result = models.UserInfo.objects.all()
# for obj in result:
# print(obj.name,obj.age,obj.ut_id,obj.ut.title)
##打印obj对象的名字,对象的年龄,对象的外键,ut设置外键的列就是相当于ut表对应的主键(现在拿到就是ut那个表可以拿ut对应的一行所有内容)
# result = models.UserInfo.objects.all().first()
# ##获取表中所有的行但只是拿第一个对象,也就是第一行
# print(result.name,result.age,result.ut) ##========================================反向查找===============================================
# obj = models.UserType.objects.all().last()
# print('用户类型',obj)
# for row in obj.userinfo_set.all():
# print(row.name,row.age) ##========================================对象查看及连表===============================================
# models.UserInfo.objects.all()
#查看UserIinfo表的所有行
# models.UserInfo.objects.filter(id=2)
##查看UserInfo表id等于2的哪一行内容
# result = models.UserInfo.objects.all()
##通过此方式返回一个列表中存放的是对象(object)
# for row in result:
# print(row.name,row.id,row.age,row.ut.title)
##以是对象的方式进行连表 ##========================================字典查看及连表===============================================
# models.UserInfo.objects.all()
## 查看表的所有行
# models.UserInfo.objects.filter(id=1)
##查看表的id是1的行
# result=models.UserInfo.objects.all().values('id','name','ut__title')
##通过此方式连表返回个列表,列表中存放的是字典对象(dict)
# for row in result:
# print(row) ##========================================元组查看及连表===============================================
# models.UserInfo.objects.all()
## 查看表的所有行
# models.UserInfo.objects.filter(id=2)
##查看表的id是2的行
# result=models.UserInfo.objects.all().values_list('id','name','ut__title')
##通过此方式连表返回个列表,列表中存放的是元组对象(tuple)
# for row in result:
# print(row)
Python/Django(CBV/FBV/ORM操作)的更多相关文章
- Django - 表与ORM操作
Django - 表与ORM操作 一. 模板语言 模板中也有自己的语言, 该语言可以实现数据展示 - {{ 变量 }} - 循环 {% for i in all_publisher %} {{ for ...
- 初学Django基础02 ORM操作
django的ORM操作 之前我们知道了models.py这个文件,这个文件是用来读取数据结构的文件,每次操作数据时都走这个模块 常用字段 AutoField int自增列,必须填入参数 primar ...
- Django 模型层 ORM 操作
运行环境 1. Django:2.1.3 version 2. PyMysql: 0.9.3 version 3. pip :19.0.3 version 4. python : 3.7 versio ...
- Django专题之ORM操作2
Django ORM操作 目录 一般操作 看专业的官网文档,做专业的程序员! 回到顶部 必知必会13条 <1> all(): 查询所有结果 <2> get(**kwargs ...
- python django基础五 ORM多表操作
首先在创建表的时候看下分析一下 1.作者表和作者详细地址表 一对一关系 理论上谁都能当主表 把Author设置成主表 au=models.OneToOneField(to='AuthorDetail ...
- Python Django CBV下的通用视图函数
ListView TemplateView DetailView 之前的代码实例基本上都是基于FBV的模式来撰写的,好处么,当然就是简单粗暴..正如: def index(request): retu ...
- python django基础四 ORM简介
ORM,全称是object relation mapping.翻译过来,就是对象关系映射. 主要来学习MySQL操作,MySQL是一个软件.它的优点:1.免费 2.开源 pymysql,就是Mysql ...
- Django学习之ORM操作
一.一般操作 二.必知必会13条 返回QuerySet对象的方法有 特殊的QuerySet 返回具体对象的 返回布尔值的方法有 返回数字的方法 三.单表查询之神奇的双下划线 四.ForeignKey操 ...
- Python Django 开发 4 ORM
第三篇最后写了,光知道那些基础的查询在项目中是没有什么卵用的,重点是实体关系映射(ORM),今天学习了,来记录一下,关键词:ForeignKey(多对一).OneToOneField(一对一).Man ...
随机推荐
- Git - 可视化冲突解决工具P4Merge
P4Merge P4Merge是Git的一个第三发Diff和Merge工具(可视化冲突解决工具). 下载地址: https://www.perforce.com/downloads/visual-me ...
- Linux shell 基础
目录 一.shell脚本的基本使用 1.语言规范 2.变量 3.重定向(>,>>) 二.运算符和常用判断 1.比较运算符 2.逻辑运算符 3.常用判断 三.程序结构 1.分支(if语 ...
- MongoDb进阶实践之二 如何在Windows上配置MongoDB
一.引言 上一篇文章,我介绍了如何在Linux系统上安装和配置MongoDB,其实都不是很难,不需要安装和编译,省去了Make && Make Install 命 ...
- MongoDB系列二(介绍).
一.特点 学习一个东西,至少首先得知道它能做什么?适合做什么?有什么优缺点吧? 传统关系型数据库,遵循三大范式.即原子性.唯一性.每列与主键直接关联性.但是后来人们慢慢发现,不要把这些数据分散到多个表 ...
- 使用了旧版nuget的.net项目在git中的问题
曾几何时,使用nuget包管理项目依赖还需要将nuget执行程序及其配置文件包含在项目中. 如上图所示,在解决方案文件夹中,有专门为nuget程序设置的 .nuget 子目录. 当将项目纳入git管理 ...
- 利用spring AOP实现每个请求的日志输出
前提条件: 除了spring相关jar包外,还需要引入aspectj包. <dependency> <groupId>org.aspectj</groupId> & ...
- shell脚本里获取字符串的最后一个字符
STR=123456abc FINAL=`echo ${STR: -1}` 或者 FINAL=${STR: -1} 都可以让FINAL获得c这个最后一个字符
- xilinx的quick boot(1) ——flash的一些内容
xilinx的quick boot(1) --flash,quick boot配置文件,以及中间的一些联系xilinx 配置模式分为SPI,BPI.用过的spi外挂flash是N25Q./////// ...
- java1.8版本的HashMap源码剖析
一.摘要 以下分析内容均是基于JDK1.8产生的,同时也和JDK1.7版本的hashmap做了一些比较.在1.7版本中,HashMap的实现是基于数组+链表的形式,而在1.8版本中则引入了红黑树,但其 ...
- Beta冲刺 第六天
Beta冲刺 第六天 1. 昨天的困难 1.对于设计模式的应用不熟悉,所以在应用上出现了很大的困难. 2.SSH中数据库的管理是用HQL语句实现的,所以在多表查询时出现了很大的问题. 3.页面结构太凌 ...