例如有一个models表叫做report,report表中有一个endtime,想将结果按照endtime倒序排列   正序排列的方法:[models对象.objects.order_by(“字段名")] report.objects.order_by("endtime") 倒序排列的方法:[models对象.objects.order_by(“-字段名")] report.objects.order_by("-endtime") 倒序排列只要在…
1 Django models 获取数据的三种方式: 实践: viwes def business(request): v1 = models.Business.objects.all() v2 = models.Business.objects.all().values('id','caption') v3 = models.Business.objects.all().values_list('id','caption') return render(request,'business.ht…
按照entry_date从小到大查询数据,可以写成: Content.objects.order_by('entry_date') 从大到小排序: Content.objects.order_by('-entry_date') 下面介绍其他种类的排序 随机排序: Content.objects.order_by('?') 但是order_by(?)这种方式也许expensive并且slow,这取决于后端数据库. 按照关系表的字段排序 class Category(Base): code = mo…
1.models.AutoField   ---自增列 = int(11)    如果没有的话,默认会生成一个名称为 id 的列,如果要显示的自定义一个自增列,必须将给列设置为主键 primary_key=True.2.models.CharField   ---字符串字段  单行输入,用于较短的字符串,如要保存大量文本, 使用 TextField.必须 max_length 参数,django会根据这个参数在数据库层和校验层限制该字段所允许的最大字符数. 3.models.BooleanFie…
Django models .all .values .values_list 几种数据查询结果的对比…
我在使用C#(VS2008)读取MySql数据库(5.1版本)时,返回的DataTable数据中arrivalDate字段数据显示为System.Array[]形式(程序中没有对返回的数据进行任何加工),数据读取时,是使用ADO.Net调用MySql.Data.dll类库(类库版本是5.2.3.0,该类库应该是mysql官方提供的)然后检查Sql语句是否有问题,如下图中的sql 该sql语句在Mysql数据中执行没有问题,本身项目内部没有对数据进行任何加工,那么错误就是可以定位在MySql.Da…
.NET技术-5.0. NETCORE设置返回数据字段的大小写 问题来源于我写了一个接口,接口的返回类型是JsonResult,但是对接之后反应返回结果的首字母全小写了, 后来查了写资料返现.net core  对json 的处理默认使用驼峰式, 需要在ConfigureServices 方法中全局这只先不适用驼峰式处理 public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompat…
1,问题探讨 : 通过ajax 发送请求,接受render返回的数据.到底是什么样的类型呢? def text(request): # v = reverse("test") # print(v) return render(request, "myblog/shuige.html", {"name": "michael"}) 首先 ,render是一种渲染,返回的render是 模板 结合 数据 的 字符串. 所以ajax …
前言 参考上篇博文,我们利用了OneToOneField的方式使用了django自带的user,http://www.cnblogs.com/caseast/p/5909248.html , 但这么用有个问题,就是每次增删改查数据,因为有外键的存在都要查询两次(当然可以用select_related方式减少查询次数,参考: Django models对象的select_related方法(减少查询次数) ),另外在admin中需要维护2张表,先创建User,再在UserProfile中进行关联操…
django 为使用一种新的方式,即关系对象映射(ORM) 一,创建表 1,基本结构 注意: 1,创建标的时候,如果我们不给表加自增列,生成表的时候会默认给我们生成一列为ID的自增列,当然我们也可以自定义. 2,如果我们给某一列设置了外键的时候,生成表的时候,该列的表名会自生成auter_id(即两个字段中间用_连接起来) 3,创建外键的时候 models.ForeignKey(UserType) ForeignKey 中参数代表的类必须在其上面,否则就必须写成字符串的形式 from djang…
Django中的页面管理后台 Djano中自带admin后台管理模块,可以通过web页面去管理,有点想php-admin,使用步骤: 在项目中models.py 中创建数据库表 class userinfo(models.Model): nid = models.AutoField(primary_key=True) username = models.CharField(max_length=32) email = models.EmailField() ip = models.Generic…
首先回顾sql中聚合和分组的概念: 如果没有分组,会把整张表作为一个大组,查询字段必须是聚合结果:如果有分组,分组之后,必须要使用聚合的结果作为having的条件. 聚合查询 聚合:aggregate(*args, **kwargs) 规则: 1.可以同时对多个字段进行聚合处理: 2.是QuerySet对象方法: 3.方法返回值为字典类型 aggregate()是QuerySet 的一个终止子句,意思是说,它返回一个包含一些键值对的字典.键的名称是聚合值的标识符,值是计算出来的聚合值.键的名称是…
Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中. ORM在业务逻辑层和数据库层之间充当了桥梁的作用. ORM由来 让我们从O/R开始.字母O起源于"对象"(Object),而R则来自于"关系&qu…
Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中. ORM在业务逻辑层和数据库层之间充当了桥梁的作用. ORM由来 让我们从O/R开始.字母O起源于"对象"(Object),而R则来自于"关系&qu…
在使用三神装的时候,首先当然是得要导入它们: from django.shortcuts import HttpResponse, render, redirect   一.HttpRequest捕获请求 捕获请求——HttpRequest对象 1.属性 HttpRequest.scheme  #一个字符串,表示请求的方案(通常是http或者https)HttpRequest.body    #一个字节字符串,表示原始HTTP请求的正文HttpRequest.path    #一个字符串,表示请…
在前一遍文章django models Making queries里面我们提到了django常用的一些检索数据库的内容, 下面我们来看一下更为高级的检索聚合运算 这是我们要用到的模型 class Author(models.Model): name = models.CharField(max_length=100) age = models.IntegerField() friends = models.ManyToManyField('self', blank=True) class Pu…
ORM 介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说 ORM 是通过使用描述对和数据库自检映射的元数据, 将程序中的对象自动持久化到关系数据库中. ORM在业务逻辑层和数据库层之间充当了桥梁的作用. ORM由来 让我们从O/R开始.字母O起源于"对象"(Object),而R则来自于"关系"(Relational). 几乎所有的软件开发过程中…
django models 数据库操作 创建模型 实例代码如下 from django.db import models class School(models.Model): pass class Message(models.Model): pass class Teacher(models.Model): pass class Student(models.Model): GENDER_CHOICES = ( ('male', "男"), ('female', "女&q…
单表查询 单表查询简单示例 # 字段 models.DateField(auto_now_add) models.DateField(auto_now) # auto_now 和auto_now_add 都是两个字段可以使用的参数 # auto_now: 每次操作该数据的增删改查都会自动更新时间 # auto_now_add: 新增数据的时候,会创建时间,后期在做修改的时候,不更新时间 # 新增数据 if __name__=="__main__": os.envron.setdefau…
Django models中的meta选项 通过一个内嵌类 "class Meta" 给你的 model 定义元数据, 类似下面这样: class Foo(models.Model): bar = models.CharField(maxlength=30) class Meta: # ... Model 元数据就是 "不是一个字段的任何数据" -- 比如排序选项, admin 选项等等. 下面是所有可能用到的 Meta 选项. 没有一个选项是必需的. 是否添加 c…
一.配置环境 1 Django 连接数据库(MySQL) DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'xyz', 'USER':'root', 'PASSWORD':'root', 'HOST':'IP地址', 'PORT':3306, 'CHARSET':'utf8' } } 2 Django 默认用的是 mysqldb 改为用 pymysql 连接 import pymysql pymys…
Part1:了解主键 1.      Python和Django版本如下: E:\django>python3 -V Python 3.5.2 E:\django>python3 -m django --version 2.0rc1 2.      创建项目learndjango和应用testdjangofield E:\django>django-admin startproject learndjango E:\django>cd learndjango E:\django\l…
django models 在日常的编程中,我们需要建立数据库模型 而往往会用到表与表之间的关系,这就比单表取数据要复杂一些 在多表之间发生关系的情形下,我们如何利用models提供的API的特性获得需要的数据呢 ==我们先从对象和查询集说开去== 查询结果有时是对象/有时是查询集 我们只需要知道 ,只有get方法或者对查询集合进行切片,比如objects.all()[0] 或者 objects.all().first()等得到的是对象,其他得到的都是queryset 我们举个例子看下 # -*…
一.数据库操作 1.创建model表         基本结构 1 2 3 4 5 6 from django.db import models     class userinfo(models.Model):     #如果没有models.AutoField,默认会创建一个id的自增列     name = models.CharField(max_length=30)     email = models.EmailField()     memo = models.TextField(…
Django - models.py 应用 编写 models.py 文件 from django.db import models # Create your models here. class User_info(models.Model): username = models.CharField(max_length=25,verbose_name='用户名') password = models.CharField(max_length=25,verbose_name='密码') ag…
这是后面要用到的类 class Blog(models.Model): name = models.CharField(max_length=100) tagline = models.TextField() def __unicode__(self): return self.name class Author(models.Model): name = models.CharField(max_length=50) email = models.EmailField() def __unic…
from django.shortcuts import render,HttpResponse from django import forms from app01 import models from django.core.validators import RegexValidator import re from django.core.exceptions import ValidationError # Create your views here. #自定义校验函数,直接在字段…
在项目常常要和数据表格打交道. 现在BS的通常做法都是前端用一个js的Grid控件, 然后通过ajax的方式从后台加载数据, 然后将数据和Grid绑定. 数据往往不是一页可以显示完的, 所以要加分页:然后就是根据关键字段做排序, 做筛选过滤. 作为后端人员, 要考虑的是如何优雅的实现分页.排序.筛选的功能. 本文先谈谈筛选. 因为分页.排序.筛选这3个动作, 一定是先处理筛选的——筛选后的结果再去排序, 然后再做分页 , 才有意义. 筛选首先要考虑如下两个问题: 1) 字段类型 2) 比较方式…
上一篇<使用Expression实现数据的任意字段过滤(1)>, 我们实现了通过CriteriaCollectionHandler对象来处理集合数据过滤.通过适当的扩展, 应该可以满足一般的筛选条件应用了.但是在我经历的项目中, 突然有个情况让我措手不及.下面和大家分享下. 这个项目叫WebAD,顾名思义, 就是将AD的管理界面使用Web来实现. 无可避免的要查询AD里面的对象,比如UserPrinciple,即查找某一OU节点下的所有用户. 先感受下UserPrinciple的属性 再感受下…
Django 从后台往前台传递数据时有多种方法可以实现. 最简单的后台是这样的: from django.shortcuts import render def main_page(request): return render(request, 'index.html') 这个就是返回index.html的内容,但是如果要带一些数据一起传给前台的话,该怎么办呢? 一 view -> HTML 使用Django模版 这里是这样:后台传递一些数据给html,直接渲染在网页上,不会有什么复杂的数据处…