list_display展示多对多关系的内容 表结构关系 表一 class Server(models.Model): asset = models.OneToOneField('Asset') created_by_choices = ( ('auto','Auto'), ('manual','Manual'), ) created_by = models.CharField(choices=created_by_choices,max_length=32,default='auto') #a…
hibernate多对一单向外键: 描述:…
多对多双向外键 双方持有对方的集合对象 其中一方设置: //教师类 @ManyToMany(mappedBy="teachers")   //mappedby表示教师交给学生来控制 另一方: //学生类 @ManyToMany @JoinTable( name="teachars_students", //中间表的名字 joinColumns= {@JoinColumn(name="sid")}, //外键的字段 inverseJoinColum…
多对多单向外键 1,学生和教师构成多对多的关联关系 2,其中一个多方持有另一个多方的集合对象(学生持有教室的集合) 3,通过注解@JoinTable,创建中间表(作为多对多的载体,用来确定学生和教师的多对多关系) @JoinTable( name="teachars_students", //中间表的名字 joinColumns= {@JoinColumn(name="sid")}, //外键的字段 inverseJoinColumns= {@JoinColumn(…
多对一单向外键 1,多方持有一方的引用,比如:多个学生对应一个班级(多对一) 2,@ManyToOne(cascade={CascadeType.ALL},  fetch=FetchType.EAGER)     cascade表示一种级联关系,fetch表示抓取策略(eager表示渴望,积极) @JoinColumn(name="cid", referencedColumnName="CID")   表示多方持有一方引用,一方的外键用name表示,referenc…
我打算在角色表(role)中添加一个帐号表(account)的外键(accountId),步骤如下: 1.首先在角色表(role)中添加列. 添加语句:alter table role add(accountid varchar2(50)); 添加语句时注意事项:单词之间的空格必须为英文空格,不可为中文空格:accountId添加后不可         设为主键! 2.将accountId这一列设为外键,链接角色表(role)和帐号表(account).          添加语句:alter…
模型设计 我们之前操作数据库是通过写sql语句  ORM框架    可以通过不写sql  语句来进行操作数据库 1.定义模型类 模型类定义在models.py文件中,继承自models.Model类. 说明:不需要定义主键列,在生成时会自动添加,并且值为自动增长. 设计图书类 图书类: 类名:BookInfo 图书名称:btitle 图书发布日期:bpub_date 模型类的设计 根据设计,在models.py中定义模型类如下 from django.db import models class…
工作中用到的,存照一下. from django.db.models import Q if self.kwargs.has_key('search_pk'): search_pk = self.kwargs['search_pk'] return SubServer.objects.filter(Q(name__icontains=search_pk)|Q(app_name__name__icontains=search_pk))…
假设,一个农场产出多种植物,具体的某一植物产于某一农场. 3 import java.io.Serializable; 4 import java.util.Set; 5 import javax.persistence.CascadeType; 6 import javax.persistence.Column; 7 import javax.persistence.Entity; 8 import javax.persistence.FetchType; 9 import javax.per…
场景 我们用Django的Model时,有时候需要关联外键.关联外键时,参数:on_delete的几个配置选项到底是干嘛的呢,你知道吗? 参数介绍 models.CASCADE 级联删除.Django会模拟SQL约束的行为,在删除此条数据时,同事删除外键关联的对象. 比如:用户的有一个外键关联的是用户的健康记录表,当用户删除时,配置了这个参数的健康记录表中跟这个用户有关的数据也会被删除. 提醒: 级联删除不会调用model级行为,但是会为所有已删除对象发送pre_delete和 post_del…
开始用Django做web开发,我想大家都会遇到同样的问题,那就是如何高效快速的查询需要的数据,MVC都很简单,但是ORM折腾起来就有些费时间,我准备好好研究下Django ORM,所以会有一个系列的Blog,欢迎大家讨论拍砖. 1. 如何快速的通过外键表获取主表的信息 演示Class from django.db import models import uuid class Employee(models.Model): employee_id = models.UUIDField(prim…
Django中的外键: 首先,为了方便理解,我们把使用ForeignKey的字段所在的表定义为从表,把ForeignKey中to参数连接的表称为主表. 外键使用的先决条件: 在mysql数据表中,数据引擎有很多种,最常用的就是InnoDB和MyISAM,只有主表和从表的数据库引擎都是InnoDB时,表与表之间才能使用外键连接 外键介绍: 外键在django的ORM连表操作时非常常用,在django中我们使用ForeignKey作为关键词去定义外键,下面是ForeignKey的构造方法: def…
第1章 Django ORM相关操作 1.1 在一个py文件中使用django项目 1.2 返回QuerySet对象的方法有 1.2.1 特殊的QuerySet 1.3 返回具体对象的 1.4 返回布尔值的方法有:1.5 返回数字的方法有 1.6 表单查询-双下划线 1.6.1 id__lt 1.6.2 id__in 1.6.3 name__contains 1.6.4 icontains 1.6.5 id__range 1.6.6 其它 第2章 ForeignKey操作(重点) 2.1 例:…
model class UserProfile(AbstractUser): nick_name = models.CharField(max_length=50, verbose_name=u"昵称", default="") gender = models.CharField(max_length=6, choices=(("male",u"男"),("female","女")),…
Django 系列博客(十三) 前言 本篇博客介绍 Django 中的常用字段和参数. ORM 字段 AutoField int 自增列,必须填入参数 primary_key=True.当 model 中如果没有自增列,则会自动创建一个列名为 id 的列. IntegerField 一个整数类型,范围在-2147483648 to 2147483647. CharField 字符类型,必须提供max_length参数, max_length表示字符长度. DateField 日期字段,日期格式…
Django 系列博客(十一) 前言 本篇博客介绍使用 ORM 来进行多表的操作,当然重点在查询方面. 创建表 实例: 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情模型和作者模型之间是一对一的关系(one-to-one). 出版商模型:出版商有名称,所在城市. 书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系(many-to-many);一本书只应该由一…
modelform整体 from django import forms from app01 import models import hashlib from django.core.exceptions import ValidationError # 定义Boostrap表单样式的类 class BootstrapForm(forms.ModelForm): def __init__(self, *args, **kwargs): super().__init__(*args, **kw…
一:搭建自己的博客系列  搭建自己的博客(一):前期准备  搭建自己的博客(二):创建表,创建超级用户  搭建自己的博客(三):简单搭建首页和详情页 搭建自己的博客(四):优化首页和详情页 搭建自己的博客(五):使用模版标签优化前端代码 搭建自己的博客(六):添加首页,使用css对界面做美化 搭建自己的博客(七):使用bootstrap框架美化导航栏 搭建自己的博客(八):使用fontawesome框架来添加图标以及美化详情页 搭建自己的博客(九):使用shell模式批量添加博客文章并增加分页功…
一直以来,都希望整合一个以客户为中心的平台,有两个方面的考虑:一是实现客户数据.客户关系.客户管理等方面的整合,以便更好利用好客户的相关资源,发挥最大的营销效益:二是整合目前我的开发框架的所有模块和技术,包括权限管理和控制.字典管理模块.分页控件.公用类库.自动更新模块.附件管理模块.邮件短信的信息通知模块.工作流模块,以及来电显示记录模块.群发邮件营销模块.日历管理模块等方面的内容.本随笔系列主要介绍在开发我的CRM系统中的各种场景问题的解决思路,以及相关的功能实现,力求在逐步完善这个CRM系…
Django 系列博客(十六) 前言 本篇博客介绍 Django 的 forms 组件. 基本属性介绍 创建 forms 类时,主要涉及到字段和插件,字段用于对用户请求数据的验证,插件用于自动生成 html. Form 类内置字段介绍 Field required=True, 是否允许为空 widget=None, HTML插件 label=None, 用于生成Label标签或显示内容 initial=None, 初始值 help_text='', 帮助信息(在标签旁边显示) error_mes…
Django 系列博客(十四) 前言 本篇博客介绍在 html 中使用 ajax 与后台进行数据交互. 什么是 ajax ajax(Asynchronous Javascript And XML)翻译成中文就是''异步 JavaScript 和 XML''.即使用 JavaScript 语言与服务器进行异步交互,传输的数据为 XML(现在更多地使用 json). 同步交互:客户端发出一个请求后,需要等待服务器响应结束,才能发出第二个请求: 异步交互:客户端发出一个请求后,无需等待服务器响应结束,…
Django 系列博客(十二) 前言 本篇博客继续介绍 Django 中的查询,分别为聚合查询和分组查询,以及 F 和 Q 查询. 聚合查询 语法:aggregate(*args, **kwargs) # 计算所有图书的平均价格 from django.db.models import Avg Book.objects.all().aggregate(Avg('price')) aggregate()是 QuerySet 的一个终止子句,意思是说,它返回一个包含一些键值对的字典.键的名称是聚合值…
Django 系列博客(十) 前言 本篇博客介绍在 Django 中如何对数据库进行增删查改,主要为对单表进行操作. ORM简介 查询数据层次图解:如果操作 mysql,ORM 是在 pymysql 之上又进行了一层封装. MVC 或者 MTV 框架中包括一个重要的部分,就是 ORM,它实现了数据模型与数据库的解耦合,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,极大地减轻了工作量,不需要面对因数据变更而导致的无效劳动. ORM 是''对象-关系-映射''的简称…
Django 系列博客(九) 前言 本篇博客介绍 Django 模板的导入与继承以及导入导入静态文件的几种方式. 模板导入 模板导入 语法:``{% include '模板名称' %} 如下: <!-- base.html --> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>index</title> <link rel=…
Django 系列博客(八) 前言 本篇博客介绍 Django 中的模板层,模板都是Django 使用相关函数渲染后传输给前端在显式的,为了想要渲染出我们想要的数据,需要学习模板语法,相关过滤器.标签. 模板简介 你可能注意到下面的例子返回文本的方式有点特别.当我们使用相关函数来渲染模板的时候,首先是打开了模板文件,然后将需要传入的参数填到文件中在返回给前端. def current_datetime(request): now = datetime.datetime.now() html =…
Django 系列博客(七) 前言 本篇博客介绍 Django 中的视图层中的相关参数,HttpRequest 对象.HttpResponse 对象.JsonResponse,以及视图层的两种响应方式 CBV 和 FBV,还有简单的文件上传. 视图函数 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何东西都可以.无论视图本身包含什么逻辑,都要返回…
Django 系列博客(六) 前言 本篇博客介绍 Django 中的路由控制部分,一个网络请求首先到达的就是路由这部分,经过路由与视图层的映射关系再执行相应的代码逻辑并将结果返回给客户端. Django 中路由的作用 URL 配置(URLconf)可以比作是 Django 支撑网站的目录.它的本质是 URL 要为该 URL 滴啊用的视图函数之间的映射表.以这种方式告诉 Django,对于客户端发来的 URL 要具体调用视图层的哪段代码. from django.urls import url f…
Django 系列博客(四) 前言 本篇博客介绍 django 如何和数据库进行交互并且通过 model 进行数据的增删查改 ORM简介 ORM全称是:Object Relational Mapping(对象关系映射),其主要作用是在编程中,把面向对象的概念跟数据库中表的概念对应起来.举例来说就是,我定义一个对象,那就对应着一张表,这个对象的实例,就对应着表中的一条记录. 比如在大名鼎鼎的 pythonWEB 框架 Django 就是使用了对象关系映射,这个对应 Django 中的 model文…
Django 系列博客(三) 前言 本篇博客介绍 django 的前后端交互及如何处理 get 请求和 post 请求. get 请求 get请求是单纯的请求一个页面资源,一般不建议进行账号信息的传输. 配置路由 from django.conf.urls import url from django.contrib import admin import app.views as app_views import newApp.views as new_views urlpatterns =…
Django 系列博客(二) 前言 今天博客的内容为使用 Django 完成第一个 Django 页面,并进行一些简单页面的搭建和转跳. 命令行搭建 Django 项目 创建纯净虚拟环境 在上一篇博客中已经安装好了虚拟环境,所以用虚拟环境来安装指定版本的 Django.为了可以从头到尾的走一遍流程,我重新创建了一个虚拟环境. 激活虚拟环境并安装 Django 首先进入虚拟环境路径下的 bin 目录 使用命令激活虚拟环境 安装指定版本 Django 首先使用 pip3 list 命令查看 可以看到…