Django的模型
Django的模型类相当于数据库的一张表,模型类的实例对象相当于表中的一行内容

Django提供了多种创建对象的方式,常用如下:
通过create()方法
1、Person.objects.create(name=name,age=age)
通过实例化对象时来创建
2、p = Person(name="WZ", age=23) p.save()
通过实例化对象和对象属性赋值来创建
3、p = Person(name="TWZ") p.age = 23 p.save()
通过get_or_create()方法
4、Person.objects.get_or_create(name="WZT", age=23)
这种方式可以有效地避免对象重复问题,推荐使用!
对于获取对象,Django同样提供了多种方式供给开发者选择,常用的如下:
通过all()方法
1、User.objects.all()
通过get()方法
2、User.objects.get(字段=值)
通过filter()方法
3、User.objects.filter(字段__contains=值)
contains前双下划线
通过values_list()方法
4、User.objects.values_list(字段1,字段2)
注:如果只需要一个字段,第二个参数传入flat=True。
通过values()
5、User.objects.values(字段1,字段2)
这个返回的是一个类字典对象
通过extra()方法
6、User.objects.extra(select={'别名':'原始名称'})
注:可以使用defer('原始名称')来避免重复查询,可以使用query属性查看具体的SQL语句。
Django模型类Field types总结:
常用参数:
null:放一个NULL作为字段的默认值
blank:可以为空值
default:默认的值
choices:将文本框替换为选择框
例如:
rom django.db import models
class Person(models.Model):
GENDER_CHOICES = (
(u'M', u'Male'),
(u'F', u'Female'),
)
name = models.CharField(max_length=60)
gender = models.CharField(max_length=2, choices=GENDER_CHOICES) 注:二元元组的第一个参数是会存储到数据库的数据,第二个元素是在admin中显示的数据。
primary_key:设置主键
unique:该字段在该表中唯一
verbose_name:就是字段的名称,默认使用字段名为名称,如果有下划线会被Django替换为空格。
Django的模型的更多相关文章
- 64、django之模型层(model)--建表、查询、删除基础
要说一个项目最重要的部分是什么那铁定数据了,也就是数据库,这篇就开始带大家走进django关于模型层model的使用,model主要就是操纵数据库不使用sql语句的情况下完成数据库的增删改查.本篇仅带 ...
- 67、django之模型层(model)--查询补充及mookie
本篇导航: F查询与Q查询 cookie 一.F查询与Q查询 1.以Book表为例 class Book(models.Model) : title = models.CharField(max_le ...
- 初识DJango——MTV模型
一.Django—MTV模型 Django的MTV分别代表: Model(模型):负责业务对象与数据库的对象(ORM) Template(模版):负责如何把页面展示给用户 View(视图):负责业务逻 ...
- 【Django】模型层说明
[Django模型层] 之前大概介绍Django的文章居然写了两篇..这篇是重点关注了Django的模型层来进行学习. ■ 模型定义 众所周知,Django中的模型定义就是定义一个类,其基本结构是这样 ...
- django的模型类管理器-----------数据库操作的封装
模型实例方法 str():在将对象转换成字符串时会被调用. save():将模型对象保存到数据表中,ORM框架会转换成对应的insert或update语句. delete():将模型对象从数据表中删除 ...
- Django笔记--模型
ORM是"对象-关系-映射"的简称,在Django当中,ORM就是模型类的管理器对象.操作顺序是先定义模型类,再定义模型类管理器,然后在模型类中实例化一个模型类管理器的对象,作为模 ...
- django之模型层(model)--建表、查询、删除基础
要说一个项目最重要的部分是什么那铁定数据了,也就是数据库,这篇就开始带大家走进django关于模型层model的使用,model主要就是操纵数据库不使用sql语句的情况下完成数据库的增删改查.本篇仅带 ...
- django之模型层(model)--查询补充及cookie
已经连续写了好几篇django的模型层(model)增删改查的随笔了,没篇大篇幅都是查询相关的操作,可以看出查询在数据的操作中是多么的重要,而本篇最后再补充一点关于关于查询的一些方法,模型层基本的操作 ...
- python 全栈开发,Day70(模板自定义标签和过滤器,模板继承 (extend),Django的模型层-ORM简介)
昨日内容回顾 视图函数: request对象 request.path 请求路径 request.GET GET请求数据 QueryDict {} request.POST POST请求数据 Quer ...
- django中模型详解-字段类型与约束条件
这片博文来详细说明django模型的使用,涉及到django模型的创建,字段介绍,以及django模型的crud操作,以及一对一等操作. 在使用模型之前,我们首先设置数据库选项,django的默认数据 ...
随机推荐
- POJ 2068 Nim(博弈论)
[题目链接] http://poj.org/problem?id=2068 [题目大意] 给出两队人,交叉放置围成一圈,每个人能取的石子数有个上限,各不相同 轮流取石头,取到最后一块石头的队伍算输,问 ...
- [CF865C]Gotta Go Fast
题目大意: 一个游戏关卡有$n(n\le50)$个任务,若在$m$秒内按顺序完成所有任务则算作通过当前关卡.每个关卡有三个属性$a_i,b_i,p_i(1\le a_i<b_i\le100,80 ...
- 5.9 j(java学习笔记)强软弱虚引用及WeakHashMap、IdentityHashMap、EnumMap
一.引用分类 强:运行垃圾回收机制后也不回收,程序出现内存溢出也不回收. 软:在垃圾回收机制运行时判断内存是否已满,如果内存已满则回收,内存充足则不回收. 弱:垃圾回收机制运行后不论内存是否充足都会立 ...
- HDU 1402 A * B Problem Plus (FFT求高精度乘法)
A * B Problem Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- Centos7.3 bbc tools安装
http://blog.csdn.net/orangleliu/article/details/54099528 更新到最新 CentOS 7.3 1611 yum update -y cat /et ...
- TOleDBMSSQLConnectionProperties驱动MSSQL数据库
TOleDBMSSQLConnectionProperties驱动MSSQL数据库 为了让MORMOT可以驱动所有版本的MSSQL,需要改用SQLOLEDB,因为所有的WINDOWS操作系统里面都提供 ...
- 建立DB-LINK和建立视图
在系统数据通信间经常会有数据库的数据直接引用,使用视图VIEW的方式实现.视图调用通常会有两种情况,一种是同一数据库的视图,一种是跨数据库的视图. 在同一数据库地址不同用户下,不过不同的用户视图调用需 ...
- 怎么在windows7系统我的电脑中添加快捷方式
在我的电脑中添加一些快捷方式,这样不用每次在开始菜单中去找了 2 选择开始菜单运行 3 输入:Regedit命令 4 进入路径地址:HKEY_LOCAL_MACHINE\SOFTWARE\Micros ...
- stat,查看文件属性
shell命令,查看文件详细属性 别再跟我回答ls -l了
- yum是什么?(linux命令)
一. yum是什么 yum = Yellow dog Updater, Modified 主要功能是更方便的添加/删除/更新RPM包. 它能自动解决包的倚赖性问题. 它能便于管理大量系统的更新问题 注 ...