models :URL---->http://www.cnblogs.com/wupeiqi/p/6216618.html

null                     数据库中字段是否可以为空

do_column                数据库中字段的列名

default                  数据库中字段的默认值

primary_key              数据库中字段是否为主键

db_index                 数据库中字段是否可以建立索引

unique                   数据库中字段是否可以建立唯一索引

unique_for_data          数据库中字段【日期】部分是否可以建立唯一索引

unique_for_month         数据库中字段【月】部分是否可以建立唯一索引

unique_for_year          数据库中字段【年】部分是否可以建立唯一索引

verbose_name              Admin中显示的字段名称

blank                     Admin中是否允许用户输入为空

editable                  Admin中是否可以编辑

help_test                 Admin中该字段的提示信息

choices                   Admin中选择框的内容,用不变动的数据放在内存中从而避免跨表操作

如:gf = models.IntegerField(choices=[(0, '何穗'),(1, '大表姐'),],default=1)

error_messages            自定义错误信息{字典类型},定制想要显示的错误信息

字典键:null, blank, invalid, invalid_choice, unique, and unique_for_data

{'null':"不能为空",'invalid':"格式错误"}

#自定义自增列

nid = models.AutoFieid(primary_key=True)

#元信息

class UserInfo(models.Model):

nid = models.AutoFieid(primary_key=True)

username = models.Charfiled(max_length=32)

class Meta:

db_table = "table_name"  #数据库中生成的表名称,默认:app名称+下划线+类名

index_together = {("pub_date","deadline"),} #联合索引

unique_together = (("pub_date","deadline"),) #联合唯一索引

vernose_name = "用户名"  #Admin 中显示的表名称

#一对多的操作:

to,                     要进行关联的表名

to_field=None,          要关联的字段名称,默认是主键ID

on_delete=None          当删除关联表中的数据时

models.CASCADE,删除关联的数据,与之关联的也删除

models.DO_NOTHING,引发错误 integrityError

models.PROTECT,引发错误ProtectedError

models.SET_NULL,删除关联的数据,与之关联的值设置为null(前提FK字段需要被设置允许为null)

models.SET_DEFAULT,删除关联的数据,与之关联的值设置为默认值(前提FK字段需要设置默认值default)

related_name = None, 反向操作时,使用的字段名,用于代替【表名_set】

related_query_name = None,反向操作时,使用的字段名,用于代替【表名】

limt_choice_to = None,在Admin或ModelForm 中显示关联书籍是们提供的条件

db_constraint=True 知否在数据库中创建外键约束

patent_link=False  在Adimn中是否显示关联数据

ORM:

create(),可以接受字典类型数据 **kwargs

delete()

get(),获取单条数据,不存在则报错(不建议)

all(),获取全部数据

filter(),获取指定条件的数据

exclude(),获取除条件之外的数据

update()将指定条件的数据更新,支持字典类型 **kwargs

count()获取匹配中的个数

id__gt=1 获取ID 大于1的值

id__gte=1获取ID 大于等于1的值

(id__lt=10,id__gt=1),获取ID大于1小于10的值

id_in[11,22,33,] 获取ID 等于11,22,33,的值

pub_date__isnull = True

(name__contains="ale") ,模糊匹配

(name__icontains="Ale"),大小写不敏感

(id__range=[1,2]) #范围 between ,end

(name='seven').order_by('id')     #asc

(name='seven').order_by('-id')    #desc

group by

from django.db.models import Count, Min, Max, Sum

values('id').annotate(c=Count(num))

models.Tb1.objects.all()[10:20] 切片

Entry.objects.get(title__regex=r'^(An?|The) +')

Entry.objects.get(title__iregex=r'^(an?|the) +')

date

Entry.objects.filter(pub_date__date=datetime.date(2005, 1, 1))

Entry.objects.filter(pub_date__date__gt=datetime.date(2005, 1, 1))

year

Entry.objects.filter(pub_date__year=2005)

Entry.objects.filter(pub_date__month__gte=6)

select_related(self,*fields)   #性能相关:表之间进行join链表操作,一次性获取关联的数据

prefetch_related(self,*lookups) #性能相关:多表连表操作时速度会慢,使用其执行多次SQL查询在Python代码中实现连表操作

aggregate() 聚合函数,获取字典类型聚合结果

bulk_create() 批量插入

get_field_dispay: 返回choice字段可读的值  (1,'成功')  ——return '成功'

get_or_create(self,default) #如果存在,则获取,否则创建   !!!!

update_or_create(self,default) #如果存在,则更新,否则创建 !!!!

first(self)获取第一个

lase(self)获取最后一个

in_bulk(self,id_list=None):

id_list = [11,22,33]

exists(self)

Django Model one的更多相关文章

  1. 【转】Django Model field reference学习总结

    Django Model field reference学习总结(一) 本文档包含所有字段选项(field options)的内部细节和Django已经提供的field types. Field 选项 ...

  2. Django model字段类型清单

    转载:<Django model字段类型清单> Django 通过 models 实现数据库的创建.修改.删除等操作,本文为模型中一般常用的类型的清单,便于查询和使用: AutoField ...

  3. Django:Model的Filter

    转自:http://www.douban.com/note/301166150/   django model filter 条件过滤,及多表连接查询.反向查询,某字段的distinct   1.多表 ...

  4. Django model中 双向关联问题,求帮助

    Django model中 双向关联问题,求帮助 - 开源中国社区 Django model中 双向关联问题,求帮助

  5. django 自定用户系统 以及 Django Model 定义语法

    http://www.tuicool.com/articles/jMzIr2 django使用自己的用户系统 http://www.jianshu.com/p/c10be59aad7a Django ...

  6. tornado with MySQL, torndb, django model, SQLAlchemy ==> JSON dumped

    现在,我们用torndo做web开发框架,用他内部机制来处理HTTP请求.传说中的非阻塞式服务. 整来整去,可谓之一波三折.可是,无论怎么样,算是被我做成功了. 在tornado服务上,采用三种数据库 ...

  7. Django Model field reference

    ===================== Model field reference ===================== .. module:: django.db.models.field ...

  8. Django model对象接口

    Django model查询 # 直接获取表对应字段的值,列表嵌元组形式返回 Entry.objects.values_list('id', 'headline') #<QuerySet [(1 ...

  9. Django学习之四:Django Model模块

    目录 Django Model 模型 MODEL需要在脑子里记住的基础概念 区分清楚,必须不能混淆的 class Meta 内嵌元数据定义类 简单model创建实例 数据源配置 接着通过models在 ...

  10. Django Model Form

    ModelForm ModelForm结合了Form和Model,将models的field类型映射成forms的field类型,复用了Model和Model验证, 写更少的代码,并且还实现了存储数据 ...

随机推荐

  1. A(光圈)S(快门) P(程序) M(手动)曝光模式

    摄影笔记:http://mp.weixin.qq.com/s/SCzXybbCCE8VzfAQKTqlDw 曝光模式,指的就是M档(手动曝光).A档(Av档,光圈优先).S档(Tv档,快门优先),Au ...

  2. Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002] No such file or directory解决方法

    今天用pdo连接mysql遇到一个奇怪的问题,host设为127.0.0.1可以连接成功,设为localhost就会报如下的错误: PHP Fatal error:  Uncaught excepti ...

  3. pc端常见布局---水平居中布局 单元素定宽

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  4. 人脸识别 python调用face++ 功能测试

    使用python调用face++的API,调用detect功能,识别人脸 首先进入face++官网注册,获得API Key和API Secret.使用官网提供的免费python api调用功能,提供了 ...

  5. HDU 5091 Beam Cannon (扫描线思想)

    题意:移动一个矩形,使矩形内包含的点尽量多. 思路:把一个点拆成两个事件,一个进(权值为1)一个出(权值为-1),将所有点按照x排序,然后扫描,对于每个x,用一个滑窗计算一下最大值,再移动扫描线.树状 ...

  6. Android(java)学习笔记128:xml文件生成

    1.xml文件: 用元素描述数据,跨平台. 2.利用传统的方式创建xml文件,下面是一个案例: 设计思路:建立一个学生管理系统,创建xml文件保存学生信息: (1)首先是布局文件activity_ma ...

  7. appium---常用的adb命令

    在测试android-app的时候,adb命令可以帮助我们解决许多问题 什么是adb Android Debug Bridge,我们一般简称为adb,主要存放在sdk安装目录下的platform-to ...

  8. JQuery EasyUI学习记录(四)

    1.EasyUI中的validatebox使用 提供的校验规则: 1.非空校验required="required" 2.使用validType指定 email: 正则表达式匹配电 ...

  9. Mybatis学习记录(1)

    1.Mybatis介绍     Mybatis是apache的一个开源项目iBatis,Mybatis是一个优秀的持久层框架,他对jdbc的操作数据库的过程进行封装,使开发者只需要关注sql本身,不需 ...

  10. mac 升级EI Capitan后遇到c++转lua时遇到libclang.dylib找不到的错

    升级EI Capitan后,打包lua脚本时,会报这个错: LibclangError: dlopen(libclang.dylib, 6): image not found. To provide ...