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 ...
随机推荐
- 如鹏网学习笔记(十二)HTML5
一.HTML5简介 HTML5是HTML语言第五次修改产生的新的HTML语言版本 改进主要包括: 增加新的HTML标签或者属性.新的CSS样式属性.新的JavaScript API等.同时删除了一些过 ...
- Mysql压缩版forWindows安装与配置
参考:http://blog.csdn.net/wengengeng/article/details/52013650
- 小程序异步处理demo计时器setInterval()
实现一个计时器/秒 其实就是要求对某字段每秒执行一次更新 这里用到了官方给的定时器 官方API 每秒刷新一次,所以用setInterval()方法 下面给出关键代码: 由于无关代码过多,这里尽可能贴出 ...
- HotSpot 虚拟机中对象的创建过程
- 删除N天前的备份文件脚本(windows)
D:\bat\forfiles.exe /p "D:\dmpbk" /s /m *.dmp /d -2 /c "cmd /c del @path" 解析: 使用 ...
- Code Signal_练习题_Add Border
Given a rectangular matrix of characters, add a border of asterisks(*) to it. Example For picture = ...
- 旋转/非旋转treap的简单操作
treap(树堆) 是在二叉搜索树的基础上,通过维护随机附加域,使其满足堆性质,从而使树相对平衡的二叉树: 为什么可以这样呢? 因为在维护堆的时候可以同时保证搜索树的性质: (比如当一棵树的一个域满足 ...
- hdu5824 graph
传送门 题意:定义一个无向图的权值为图中形为树的连通块数量的$k$次方,求所有$n$个点有标号的简单无向图的权值之和. 这个题还是很妙的啊……(好吧,其实只有最后的复合函数求导比较有意思……) 先套路 ...
- laravel之注册中间件
1.添加中间件的命令:php artisan make:middleware 中间件名称 2.给中间件指定key值:在kernel.php中 3.在中间件中添加逻辑代码
- sql-(Cross||Outer)Apply
Apply - 涉及以下两个步骤中的一步或两步(取决于Apply的类型): 1.A1:把右表表达式应用于左表的行 2.A2:添加外部行 Apply运算符把右表表达式应用于左输入的每一行.右表达式可以引 ...