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)…
疯狂的暑假学习之  Django学习笔记(五)-- 表单 參考:<The Django Book> 第7章 1. HttpRequest对象的信息 request.path                                 除域名以外的请求路径,斜杠开头                      "/hello/" request.get_host()                      主机名                              …
在创建好的 app3 目录下的 models.py 中 创建对 数据表(学生和班级)的描述 分析: 学生和班级是一对多的关系 班级表的设计 class Grade(models.Model): # 设置班级名字 g_name = models.CharField(max_length=32) 学生表的设计 class Student(models.Model): # 设置学生名字 s_name = models.CharField(max_length=16) # 在学生中添加班级,进行级联 s…
创建管理员 python manage.py createsuperuser   数据库属性命名限制 1.不能是python的保留关键字 2.不允许使用连续的下划线,这是由django的查询方式决定的 3.定义属性时需要指定字段类型,通过字段类型的参数指定选项 语法如下: 属性名=models.字段类型(选项) 字段类型 使用时需要引入django.db.models包,字段类型如下: AutoField:自动增长的IntegerField,通常不用指定,不指定时Django会自动创建属性名为i…
创建 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…
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_…
使用方法: 类名.objects.aggregate(聚合函数名('表的列名')) 聚合函数名: Avg 平均值 Count数量 Max 最大 Min 最小 Sum 求和 示例: Student.objects.aggregate(Max('sage')) 创建消费者数据表 Customer class Customer(models.Model): c_name = models.CharField(max_length = 16) # 消费者名字 c_cost = models.Intege…
Activiti工作流引擎数据库表结构 数据库表的命名 Acitiviti数据库中表的命名都是以ACT_开头的.第二部分是一个两个字符用例表的标识.此用例大体与服务API是匹配的. l        ACT_RE_*:’RE’表示repository.带此前缀的表包含的是静态信息,如,流程定义,流程的资源(图片,规则等). l        ACT_RU_*:’RU’表示runtime.这是运行时的表存储着流程变量,用户任务,变量,职责(job)等运行时的数据.Activiti只存储实例执行期间…
MySQL创建数据表(上) 一.创建数据表的SQL语句模型[弱类型] CREATETABLE [IF NOT EXISTS] 表名称( 字段名1列的类型[属性][索引], 字段名2 列的类型[属性][索引], - 字段名n列的类型[属性][索引], )[表属性][表字符集]: [表名称,字段名需要自己来命名] [SQL语句并不区分大小写,但是一个文件名:在Windows下不区分大小写,但是在 Linux/UNIX下是区分大小写的] [命名规则: 1.有意义(英文,英文组合或英文缩写) 2.自己定…
数据存储引擎: MyISAM:强化快速读取操作. 也有缺点.一些功能不支持 InnoDB:支持一些MyIASM一些不支持的功能                 缺点:占用空间大 对比            MyISAM    InnoDB 事务处理 不支持 支持 数据锁定 不支持 支持 外键 不支持 支持 表占用空间 相对小           2倍数 全文索引 支持 不支持 创建数据表制定存储引擎 create table if not exists persons(id int not nu…
MySQL创建数据表(下) 五.数据表类型及存储位置 1.MySQL与大多数数据库不同,MySQL有一个存储引擎概念.MySQL可以针对不同的存储需求选择不同的存储引擎. 2. showengines; #查看MySQL所支持的存储引擎storageengine 3. showvariables like 'table_type'; #查看默认数据表类型 MyISAM和InnoDB最常用的存储引擎[表类型] 4.指定表类型[使用哪一个存储引擎]: createtable ...() engine…
MySQL创建数据表(中) 三.数据字段属性 1.unsigned[无符号] 可以让空间增加一倍 比如可以让-128-127增加到0-255 注意:只能用在数值型字段 2.zerofill[前导零] e.g. createtable if not exists t2(num int(5) zerofill,price float(7,2)zerofill,name varchar(10)); 注意:只能用在数值型字段,自动加上无符号属性 3.auto_increment[自增] #auto自动:…
打开数据库: USE db_name : 打开数据库. 创建数据表: 查看数据表: 查看数据表结构: 数据简单的插入与查找: 插入:INSERT [INTO] tbl_name [(col_name)] VALUES(val1,val2,...); 查找:SELECT 表达式 FROM tbl_name 空值与非空: 建立表时没有指定空与非空 则默认可以为空值. 建立表时可以在 列名-数据类型 后面添上一些相应的属性 自动编号: 初识主键: 主键非空 唯一约束: UNIUE KEY 可以为空 默…
1.创建一个数据库,数据库的名字是UserInfo create database UserInfo; 2.创建一个数据表,数据表的名字是UserInfocreate table UserInfo( UserId int primary key identity(1, 1), UserName varchar(50), Pwd varchar(20), Age int, Gender char(5) ) 3.向表格插入数据insert into UserInfo(UserName, Pwd, A…
创建数据库:create database db_name 查看数据库结构:show create database db_name 删除数据库:drop database db_name 查看数据库支持的数据引擎:show engins;查看默认引擎:show engines like “storage engine” 使用数据库:use db_name 创建数据表: create table tb_name { 字段名1 , 数据类型 列级别约束条件 默认值, 字段名2 , 数据类型 列级别…
之前我们完成了Advanced 模板安装,也完成了安装adminlte 后台模板,这一步是针对前端和后台用户使用不同的数据库表来管理,做到前后台用户分离的效果: 复制一张user数据表并重命名为adminuser,做为后台登陆账号使用:复制前记得先注册一个账号: 复制方法是先导出user数据表,修改数据表名为adminuser后再导入数据库中即可: 登陆后台, 使用GII脚手架创建adminuser的系统模型,Adminuser 第一步:修改后台认证类为Adminuser 修改backend/c…
如果在 创建数据表时,使用了 objects = models.Model() 使隐形属性变为了 显性属性 则 必须要自己定义一个 继承了 models.Model 类的类,实现 管理功能 如果一个属性一直都需要使用 比如 is_delete 属性,判断 这条数据是否删除 is_delete 为 True 也就是 1 时,则表示删除了 删除了就不应该在数据库表中再次使用了 models.py 中新添加的数据表,及其继承类 class AnimalManage(models.Manager): #…
之前实现了页面传递多个参数,但没有实现页面间传递一整个数据表 session传递几个参数:https://blog.csdn.net/qq_38175040/article/details/104965393 其实传递一整个数据表的方法与传递参数的方法一样: 如图,我先用objects.all()获取到了Pro这一整个表,将其命名为problems然后将problems这个表当成一个普通的参数传递到index_03_01页面这样我们就可以在index_03_01页面使用problems这个表了如…
在 views.py 中添加函数 向数据库中添加数据 def add_persons(request): for i in range(15): person = Person() flag = random.randrange(100) person.p_name = "Hany_ %d"%(i) person.p_age = flag person.p_sex = flag%2 person.save() return HttpResponse("批量添加成功"…
在 models.py 中添加 from django.db import models # Create your models here. class Person(models.Model): # 伪装成 models p_name = models.CharField(max_length=16,unique=True,db_column='name') # unique 设置为唯一 # db_column 列名 p_age = models.IntegerField(default=1…
查找所有的元素 Student.objects.all() 查找单个元素 Student.objects.get(主键=值) 主键 pk = xxx 更新数据库数据后进行保存 stu.save() 删除数据库表中的行 stu.delete() 需要注意的点: update_student 函数和 delete_student 函数 返回值里面没有 request def update_student(request): stu = Student.objects.get(pk = 2) # pk…
一,表单form 为了接收用户的投票选择,我们需要在前段页面显示一个投票界面,让我们重写之前的polls/detail.html文件,代码如下: <h1>{{ question.question_text }}</h1> {% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %} <form action="{% url 'p…
定义表结构: class Host(models.Model): hostname = models.CharField(max_length=32) port = models.IntegerField() class HostAdmin(models.Model): username = models.CharField(max_length=32) email = models.CharField(max_length=32) host = models.ManyToManyField(H…
  创建模型 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情模型和作者模型之间是一对一的关系(one-to-one) 出版商模型:出版商有名称,所在城市以及email. 书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系(many-to-many);一本书只应该由一个出版商出版,所以出版商和书籍是一对多关联关系(on…
1.HTTP请求 HTTP协议以"请求-回复"的方式工作. 客户发送请求时,可以在请求中附加数据.服务器通过解析请求,就可以获得客户传来的数据,并根据URL来提供特定的服务. (1)GET方法 在项目中HelloWorld/HelloWorld下创建一个 search.py 文件,用于接收用户的请求 from django.http import HttpResponse from django.shortcuts import render_to_response # 表单 def…
1.若用户刷新一个包含POST表单的页面,那么请求将会重新发送造成重复. 这通常会造成非期望的结果,比如说重复的数据库记录.如果用户在POST表单之后被重定向至另外的页面,就不会造成重复的请求了.我们应每次都给成功的POST请求做重定向. 2. (1)form.is_valid()查看form中的数据是否合法. (2)每一个form实体都有一个errors属性,它为你提供了一个字段与错误消息相映射的字典表. >>> f = ContactForm({'subject': 'Hello',…
在mysql数据库中已经存在有数据的表,自己又不想删除,下面方法可以同步django中创建的表 1.最好将自己建的表名改为前缀和django自动创建表名前缀相同,不改也可以,但是后期表太多容易混乱 2.在django执行 python manage.py inspectdb > models.py 同步数据库中的表,并且生成一个新的models.py 将生成models.py文件覆盖掉app中的models.py就行 3.最后同步数据库 python manage.py makemigratio…
在 views.py 中添加 获取函数 注:此时获取的是全部用户的信息 def get_users(request): users = User.objects.all() context = { 'users':users } return render(request,'user_list.html',context = context) 注: 如果使用切片,则在 all() 后面 [ 起始:结束] 这里需要注意的是 QueueSet 类型是 左闭右闭 的 如果这里写的对,没显示数据,那就是…
在 models.py 中设置数据库表的信息 from django.db import models # Create your models here. class User(models.Model): u_name = models.CharField(max_length=,unique=True) # 用户名唯一 u_password = models.CharField(max_length=) # 设置密码 产生迁移文件,进行迁移 python manage.py makemig…
在 views 中实现对数据库的添加和读取数据库 添加数据 对象 = models 中创建的类名() 对象.列名 = '字段值' 对象.save() 进行保存 return HttpResponse('提示信息') def add_student(request): stu = Student() stu.s_name = 'Hany_%d'%(random.randrange(10)) stu.save() return HttpResponse("添加成功,添加的姓名为 %s"%(…