Django中模型(四)
Django中模型(四)
五、创建对象
1、目的
向数据库中添加数据。当创建对象时,Django不会对数据库进行读写操作,当调用save()方法时,才与数据库交互,将对象保存到数据库中
2、注意
__init__方法已经在父类models.Model中使用,在自定义的模型中无法使用
3、创建方法
A、定义一个类
在models.py中写以下代码:
class Students (models.Model): #创建数据表
sname=models.CharField(max_length=20) #定义字段
sage=models.IntegerField(3)
sgender=models.CharField(max_length=20)
@classmethod #自定义创建对象
def createStudent(cls,name,age,gengder):
stu=cls(sname=name,sage=age,sgender=gengder)
return stu
在views.py文件中这样写;
from .models import Students
def addstudent(requset):
stu=Students.createStudent('tom',34,'tom is good !')#参数顺序与创建类时cls中参数顺序对应起来
stu.save()
return render(requset,'addstudent.html')
B、在模型管理器里创建类
class StudentsManager(models.Manager):
def creatStudent(self,name,age,content):
stu=self.model()
stu.sname=name
stu.sage=age
stu.scontent=content
return stu
在调用时和第一种方法一样,在此不再赘述。
Django中模型(四)的更多相关文章
- Django中模型(五)
Django中模型(五) 六.模型查询 1.概述 查询集,表示从数据库获取的对象集合. 过滤器就是一个函数,基于所给的参数限制查询集结果.查询集可以有多个过滤器. 从sql角度来说,查询集合等价于se ...
- Django中模型(三)
Django中模型(三) 四.模型成员 1.类属性 objects:是Manager类的一个对象,作用是与数据库进行交互. 定义模型类时,没有定义管理器,则默认创建名为objects的管理器. 2.自 ...
- django中模型详解-字段类型与约束条件
这片博文来详细说明django模型的使用,涉及到django模型的创建,字段介绍,以及django模型的crud操作,以及一对一等操作. 在使用模型之前,我们首先设置数据库选项,django的默认数据 ...
- Django中模型(二)
Django中模型(二) 三.定义模型 1.模型.属性.表.字段间的关系: 一个模型类在数据库中对应一张表:在模型类中定义的属性,对应该模型对照表中的字段. 2.定义属性 A.概述 ·django根据 ...
- Django中模型(一)
Django中模型(一) 一. 基本开发流程 1. 配置数据库 2. 定义模型类:一个模型类都在数据库中对应一张数据表 3. 生成迁移文件 4. ...
- django中模型
一.django需要使用数据库,则需要安装对应的驱动,比如mysql,则需要安装mysqlclient驱动: pip install mysqlclient 二.在settings.py文件中配置数据 ...
- Django中模型层中ORM的多表操作
ORM的多表创建(一对一.一对多,多对多): 1模型创建 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等 ...
- Django中模型层中ORM的单表操作
ORM概念: MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员 ...
- python---Django中模型类中Meta元对象了解
Django中模型类中Meta元对象了解 1.使用python manage.py shell 进入编辑命令行模式,可以直接进入项目(为我们配置好了环境) python manage.py shell ...
随机推荐
- JavaScript数组的三种定义方法
数组的定义: <script type="text/javascript"> // <!--声明数组--> // 1.先声明数组长度,后进行赋值 var a ...
- C# List<T> 对于某个字段去重复
gradeSubjectItem.teacher = teacherInfos.Where((x, i) => teacherInfos.FindIndex(z => z.guid == ...
- oracle锁表问题解决
select object_name,machine,s.sid,s.serial# from v$locked_object l,dba_objects o ,v$session s where l ...
- 秒懂String,StringBuilder与StringBuffer
StringBuilder与StringBuffer: StringBuilder:线程不安全 StringBuffer:线程安全 当我们在字符串缓冲区被多个线程使用时,JVM不能保证StringBu ...
- 快速幂取模(POJ 1995)
http://poj.org/problem?id=1995 以这道题来分析一下快速幂取模 a^b%c(这就是著名的RSA公钥的加密方法),当a,b很大时,直接求解这个问题不太可能 利用公式a*b%c ...
- K:汉诺塔问题
相关介绍: 汉诺塔问题是一个通过隐式使用递归栈来进行实现的一个经典问题,该问题最早的发明人是法国数学家爱德华·卢卡斯.传说印度某间寺院有三根柱子,上串64个金盘.寺院里的僧侣依照一个古老的预言,以上 ...
- MySQL的约束、多表查询、子查询
一.约束之主键约束 约束:约束是添加在列上的,用来约束列的. 1.主键约束(唯一标识):非空.唯一.被引用 当表的某一列被指定为主键后,该类就不能为空,不能有重复值出现 创建表时指定主键的两种方式: ...
- 关于mysql的 sql_mode=only_full_group_by 报错
在mysql中执行 : SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY','')); 官网:https://dev ...
- java 自定义 LRU(最近最少使用)策略 实现 缓存机制
1. java提供了一个简单的方式实现LRU: LinkedHashMap 2. 自定义实现 LRU至少需要两个主要操作: 添加(add)和搜索(search) public class LRU ...
- Web开发须知的浏览器内幕 缓存与存储篇(1)
本文禁止转载,由UC浏览器内部出品. 0.前言 大纲 浏览器缓存和存储相关的功能分为四类: 加载流程 Memory Cache Application Cache(简称AppCache) HTTP C ...