Django的Models字段含义】的更多相关文章

在model中添加字段的格式一般为:  field_name = field_type(**field_options) 一  field options(所有字段共用) 1  null   默认为False,True则表示可以为null.(空字符串在数据库中可能被存储为'') 2  blank  默认为False,True表示可以为空. 3  choice  可选的,限制了该选项的字段值必须是所指定的choice中的一个.   4  db_column  数据库column名称.默认为本字段的…
#增加数据库数据方法#方法1CalcData.objects.create(var1 ='21',var2='22')#方法2obj =CalcData(var1 ='21',var2='22')job.save() #更新数据库数据方法#只能更新一条数据obj=CalcData.objects.get(id='3')obj.var1 = '2222'obj.save()#更新多条数据CalcData.objects.filter(id__gt='2').update(var1 = '33')…
字段内部参数: null 数据库中字段是否可以为空 db_column 数据库中字段的列名 db_tablespace default 数据库中字段的默认值 primary_key 数据库中字段是否为主键 db_index 数据库中字段是否可以建立索引 unique 数据库中字段是否可以建立唯一索引 unique_for_date 数据库中字段[日期]部分是否可以建立唯一索引 unique_for_month 数据库中字段[月]部分是否可以建立唯一索引 unique_for_year 数据库中字…
目录 常用字段 AutoField IntegerField CharField 自定义及使用char DateField DateTimeField 字段合集 字段参数 null unique db_index default DateField和DateTimeField auto_now_add auto_now 关系字段 ForeignKey 字段参数 to to_field on_delete db_constraint 其余字段参数 OneToOneField 字段参数 to to_…
一.字段联合使用的限制设置: 有这么个需求,现有两个字段,A字段是选择用户是不是vip, B字段是统计用户的vip等级; 要求: 用户不是vip时,A选择false,B字段为空; 是vip时,A字段选择true,B字段就必须填用户的vip等级! 即B字段可为空,A字段须是true时,B字段就必须有值,否则后续查询就必然出错,所以单单使用 字段属相能否为空无法限制.解决:利用对象的save()方法,我们可自定义save,然后再调用父类该 方法之前做个判断,不满足要求就抛出异常,代码如下:(在表类中…
1. django 模型models 常用字段          1.models.AutoField 自增列 = int(11) 如果没有的话,默认会生成一个名称为 id 的列 如果要显式的自定义一个自增列,必须设置primary_key=True.   2.models.CharField 字符串字段 必须设置max_length参数   3.models.BooleanField 布尔类型=tinyint(1) 不能为空,可添加Blank=True   4.models.ComaSepar…
字段属性详细介绍 一.字段 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bigint自增列,必须填入参数 primary_key=True 注:当model中如果没有自增列,则自动会创建一个列名为id的列 from django.db import models class UserInfo(models.Model): # 自动创建一个列名为id的且为自增的整数列 username =…
Django之Models(二) 创建一对多的关系 一个出版商可以有多本出版的书 一本书只有一个出版商 创建一对多的语法: 字段名= models.ForeignKey(关联表(类名),on_delete=[选项]) 注意:这里外键字段名不要在加上id,默认会加上.我在这里加上了ID,会变成publisherID_id. from django.db import models # Create your models here. class Publisher(models.Model): n…
参考地址:http://www.cnblogs.com/wupeiqi/articles/6216618.html 所有字段 AutoField(Field) --int自增列,必须填入参数primary_key=True BigAutoField(AutoField) --bigint自增列,必须填入参数primary_key=True 注意:当model中没有自增列,则自动会创建一个列名为id的列 from django.db import models class UserInfo(mod…
Models 数据库的配置 1    django默认支持sqlite,mysql, oracle,postgresql数据库 <1>sqlite django默认使用sqlite的数据库,默认自带sqlite的数据库驱动 引擎名称:django.db.backends.sqlite3 <2>mysql 引擎名称:django.db.backends.mysql 2    mysql驱动程序 MySQLdb(mysql python) mysqlclient MySQL PyMyS…
字段类型(Field types) AutoField 它是一个根据 ID 自增长的 IntegerField 字段.通常,你不必直接使用该字段.如果你没在别的字段上指定主 键,Django 就会自动添加主键字段. BigIntegerField 64位整数,类似于IntegerField,范围从-9223372036854775808 到9223372036854775807.默认的form widget 是TextInput. BooleanField 一个布尔值(true/false)字段…
相信大家一定有web应用被攻击的经历,数据库安全是一个网站的必须课.django有很好的orm,但sql注入,或其他方式的攻击都是无法完全屏蔽的. 所以一般数据库都会对用户数据,如text类型的数据进行压缩加密存储. 同时django框架很好的为我们提供了继承原生model,field的类方式. 今天我要描述的是进行 字段加密压缩, def uncompress_string(s): """helper function to reverse django.utils.tex…
前提: app名称为core,models.py 如下: #coding: utf8 import datetime from django.db import models class Order(models.Model): orderid = models.CharField(max_length=64, unique=True) desc = models.CharField(max_length=512) product = models.CharField(max_length=51…
Python 2.7.10,django 1.8.6 外键关联:http://www.bubuko.com/infodetail-618303.html 字段属性:http://www.cnblogs.com/lhj588/archive/2012/05/24/2516040.html 过滤条件:http://www.douban.com/note/301166150/ django模型很强大,可以通过外键实现: 1.主表查询子表 2.子表查询主表 3.主表查询主表(多对多情况) 下面举例中表A…
ORM操作的一些进阶的方法: ################################################################## # PUBLIC METHODS THAT ALTER ATTRIBUTES AND RETURN A NEW QUERYSET # ################################################################## def all(self) # 获取所有的数据对象 def filt…
1      引子 1.1     神奇的Django中的models 我们先来看一段在Django项目中常用的代码: 设置数据库models代码: class Students(models.Model): name = models.CharField() age = models.IntegerField() 这里有几个神奇的地方,涉及到了python中最神秘的几个特性. 先看下有哪些神奇的地方: 字段名称name\age自动转换为了数据库中的字段名称 自动校验数据类型,models.In…
字段 一个模型最重要也是唯一必需的部分,是它定义的数据库字段 字段名称限制 1.字段名不能是python保留字,这样会导致python语法错误 2.字段不能包含连续一个以上的下划线,这样会和Django查询语句语法冲突 通用字段选项 null 如果设置为 True 的话,Django将在数据库中存储空值为 NULL .默认为 False blank 如果是 True ,该字段允许留空,默认为 False choices 一个包含双元素元组的可迭代的对象,用于给字段提供选项 db_column 当…
假定models中有一个类BookInfo 模块查询不同于sql语句,模块查询的结果会返回符合条件的整个一行的对象,或者多个对象组成的查询集. 查询集类似列表,有相似的方法. 1 model查询语句: 1 get(条件) 查询一条   多条或者没有数据会抛出异常 返回一个BookInfo对象 BookInfo.objects.get(id = 1) #查询bookinfo表中id为1的数据 2 all() 查询所有 不能加条件 返回一个查询集 类似列表,有和列表一样的方法 BookInfo.ob…
django框架的models模块ORM框架,能够让我们通过编写类的方式,帮助我们自动生成数据库表. 生成的数据库表名为 应用模块名称_类名 数据库表中字段名 如果我们没有在参数中指定,就是我们写的类属性名. 通过编写类属性的方式,我们可以创建数据库表. 1 首先编写类: 稍后详细 2 然后生成迁移文件: python manage.py makemigrations 3 执行迁移: python manage.py migrate 三步骤,django会帮助我们生成相应的sql语句创建数据库表…
Django ORM 常用字段和参数 一:常用字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列. IntegerField 一个整数类型,范围在 -2147483648 to 2147483647. CharField 字符类型,必须提供max_length参数, max_length表示字符长度. DateField 日期字段,日期格式 YYYY-MM-DD,相当于Python中的datetim…
一.字段 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bigint自增列,必须填入参数 primary_key=True 注:当model中如果没有自增列,则自动会创建一个列名为id的列 from django.db import models class UserInfo(models.Model): # 自动创建一个列名为id的且为自增的整数列 username = models.Ch…
Django之Models(三) 创建多对多关系 第一种方式:创建多对多的关系authors=models.ManyToManyField("Author") class Publisher(models.Model): name = models.CharField(max_length=30) city = models.CharField('城市',max_length=60) class Book(models.Model): name=models.CharField(max…
Django之Models(一) 目录 数据库的配置 模型代码与参数解析 ORM对单表的增删改查 查询的补充 数据库配置 django默认支持sqlite,mysql, oracle,postgresql数据库. DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } django默认使用sqlite的数据库,默认自带s…
ORM介绍 ORM概念 ORM由来 ORM的优势 ORM的劣势 ORM总结 Django中的ORM Django项目使用MySQL数据库 Model 快速入门 字段 自定义字段 字段参数 Model Meta参数 多表关系和参数 ORM操作 Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用…
一 简介:今天学习models查询的一些东西 二 理解概念 Queryset 定义 从数据库中查询出来的结果一般是一个集合,这个集合叫做 QuerySet 三 细节学习 一 常用的models函数 .all() 全表.filter() 过滤 .exclude() 排除.values() 指定值(字典).values_list() 指定值(元组 ).order_by()排序.exits() 是否存在.update() 更新.delete() 删除.distinct() 去重.union()联合.c…
定义模型 将数据库表定义成类,集成models.Model from django.db import models # Create your models here. class Author(models.Model):     name=models.CharField(max_length=100) django会自动生成id字段作为主键,如果不定义主键的话 2,使用模型 将使用manage.py startapp XXX 创建的应用加入到setting下的INSTALLED_APPS…
day68 参考:http://www.cnblogs.com/liwenzhou/p/8688919.html 1. Django ORM常用字段:             1. AutoField       --> 自增             2. CharField       --> varchar(xx)             3. ForeignKey      --> 外键             4. ManyToManyField --> 多对多关联   …
一.多对一(ForeignKey) 多对一的关系,通常被称为外键.外键字段类的定义如下: class ForeignKey(to, on_delete, **options)[source] 外键需要两个位置参数,一个是关联的模型,另一个是on_delete选项.实际上,在目前版本中,on_delete选项也可以不设置,但Django极力反对如此,因此在Django2.0版本后,该选项会设置为必填. 外键要定义在‘多’的一方! from django.db import models class…
一个模型(model)就是一个单独的.确定的数据的信息源,包含了数据的字段和操作方法.通常,每个模型映射为一张数据库中的表. 基本的原则如下: 每个模型在Django中的存在形式为一个Python类 每个模型都是django.db.models.Model的子类 模型的每个字段(属性)代表数据表的某一列 Django将自动为你生成数据库访问API 简单示例: 下面的模型定义了一个“人”,它具有first_name和last_name字段: from django.db import models…
from http://www.cnblogs.com/lhj588/archive/2012/05/24/2516040.html Django 通过 models 实现数据库的创建.修改.删除等操作,本文为模型中一般常用的类型的清单,便于查询和使用: AutoField:一个自动递增的整型字段,添加记录时它会自动增长.你通常不需要直接使用这个字段:如果你不指定主键的话,系统会自动添加一个主键字段到你的model.(参阅自动主键字段) BooleanField:布尔字段,管理工具里会自动将其描…