Django学习路18_F对象和Q对象】的更多相关文章

F 对象: 可以使用模型的 A 属性和 B 属性进行比较 写法: 需要的数据对象 = 数据表(类名).objects.filter(列名__条件=F('列名2')) 需求: 查看男生数量比女生少 的公司名称 companies = Company.objects.filter(c_boy_num__lt=F('c_girl_num')) F 对象支持算术运算 需求: 查看男生数量比女生少 15个的公司名称 companies = Company.objects.filter(c_boy_num_…
Django中的模糊查询: 需要做一个查找的功能,所以需要使用到模糊查询. 使用方法是:字段名加上双下划线跟上contains或者icontains,icontains和contains表示是否区分大小写. 实测icontains为不区分大小写,contains为区分大小写. from djangp.db.models import Q def select_seller(request,keyword): seller_info= Seller.objects.filter(Q(usernam…
在Django的模型中F对象与Q对象比较常用的,所以单独说一下: F对象 F对象位于django.dc.models模板下,使用的时候记得首先导入!!! 作用:F对象主要用于当模型的字段A与字段B进行比较的时候,如果A写在了等号的左边,则B 出现在等号的右边,通过F对象进行构造,用于两个列的比较.举个例子: 假设有数据模型类BookInfo,BookInfo中有属性read和commet,我们要找到阅读量(read)比评论量(commet)多的图书 BookInfo.objects.filter…
创建管理员 python manage.py createsuperuser   数据库属性命名限制 1.不能是python的保留关键字 2.不允许使用连续的下划线,这是由django的查询方式决定的 3.定义属性时需要指定字段类型,通过字段类型的参数指定选项 语法如下: 属性名=models.字段类型(选项) 字段类型 使用时需要引入django.db.models包,字段类型如下: AutoField:自动增长的IntegerField,通常不用指定,不指定时Django会自动创建属性名为i…
一.F对象 一个F对象代表数据库中某条记录的字段的信息 作用 通常是对数据库中的字段值在不获取的情况下进行操作 用于属性(字段)之间的比较   语法: from django.db.models import F F('列名')   示例1: 示例2:     二.Q对象 当在获取查询结果集使用复杂的逻辑或 | .逻辑非~ 等操作时可以借助Q对象进行操作   导包: from django.db.models import Q   例如:想找出定价低于20元 或清华大学出版学的全部图书,可以写成…
创建 app6 在项目的 settings 中进行注册 INSTALLED_APPS 里面添加 'app6.apps.App6Config' 在 app6 的models.py 中创建数据表 class Student(models.Model): s_name = models.CharField(max_length= 16) 进行迁移 python manage.py makemigrations python manage.py migrate 在 views 中添加函数 from dj…
静态文件配置 # 1.静态文件 网站所使用的已经提前写好的文件 css文件 js文件 img文件 第三方文件 我们在存储静态文件资源的时候一般默认都是放在static文件夹下 # 2.Django静态文件配置 settings.py STATICFILES_DIRS = [ os.path.join(BASE_DIR,'static') os.path.join(BASE_DIR,'static') os.path.join(BASE_DIR,'static') ] # 3.接口前缀 STATI…
from django.shortcuts import render,redirect from django.http import HttpResponse,JsonResponse from datetime import datetime,timedelta # Create your views here. # request就是HttpRequest类型的对象 # request包含浏览器请求的信息 def index(request): '''首页''' # num = 'a'…
from django.db import models # Create your models here. class BookInfoManager(models.Manager): '''图书模型管理器类''' # 1.改变原有查询的结果集 def all(self): # 1.调用父类的all方法,获取所有数据 books = super().all() # QuerySet # 2.对books中的数据进行过滤 books = books.filter(isDelete=False)…
  保存日期 def create(request): '''新增一本图书''' # 1.创建BookInfo对象 b = BookInfo() b.btitle = '流星蝴蝶剑' b.bpub_date = date(1990,1,1) # 2.保存进数据库 b.save() # 3.返回应答,让浏览器再访问/index,重定向 return HttpResponse('ok') # return HttpResponseRedirect('/index') # return redirec…