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.CharFie…
Django之ORM字段和参数   字段 常用字段 AutoField 自增int自增列,必须填入参数 primary_key=True. 当model中如果没有自增列,则自动会创建一个列名为id的列. IntegerField 一个整数类型,范围在 -2147483648 to 2147483647. CharField 字符类型,必须提供max_length参数, max_length表示字符长度. TextField 文本类型,可以储存大段的字符串,如博客内容等 DateField 日期字…
1.ORM三种模型 模型之间的三种关系:一对一,一对多,多对多. 一对一:实质就是在主外键(author_id就是foreign key)的关系基础上,给外键加了一个UNIQUE=True的属性: 一对多:就是主外键关系:(foreign key),fk建在多的一方 多对多:(ManyToManyField) 自动创建第三张表(当然我们也可以自己创建第三张表:两个foreign key) 2.字段类型 <1> CharField #字符串字段, 用于较短的字符串. #CharField 要求必…
1.根据类自动创建数据库表 #app.py下的models.py python manage.py makemigrations python manage.py migrate 执行完上述命令后,自动创建数据库数据. 2.可以对现在表结构进行修改操作 2.1).修改字段长度 2.2).增加字段 gender=models.CharFiled(max_length=32,null=True) 表示字段可以为空 执行修改操作时,均执行1中的2个命令 3.字段类型检查 设置字段类型时,有些会在adm…
字段 1.models.AutoField 自增列 = int(11) 如果没有的话,默认会生成一个名称为 id 的列,如果要显示的自定义一个自增列,必须将给列设置为主键 primary_key=True. 2.models.CharField 字符串字段 必须 max_length 参数 3.models.BooleanField 布尔类型=tinyint(1) 不能为空,Blank=True 4.models.ComaSeparatedIntegerField 用逗号分割的数字=varcha…
Django---Django的ORM的一对多操作(外键操作),ORM的多对多操作(关系管理对象),ORM的分组聚合,ORM的F字段查询和Q字段条件查询,Django的事务操作,额外(Django的终端打印SQL语句,脚本调试) 一丶Django的ORM外键操作 通过对象查找 ### 正向查找 # 获得图书对象 book_obj=models.Book.objects.get(pk=1) ret=book_obj.pub #pub是Book表的外键字段,存在Book表中. 通过pub可以拿到所关…
字段 常用字段 AutoField                                                                                                                                                                                                                                         …
一.内容回顾 1.Django请求的生命周期: ​ 路由系统 -> 视图函数(获取模板+数据 -> 渲染) -> 字符串返回给用户 2.路由系统: /index/ #-> 函数或类.as_view() /detail/(\d+) #-> 函数(参数) 或 类.as_view()(参数) /detail/(?P<nid>\d+) #-> 函数(参数) 或 类.as_view()(参数) /detail/ #-> include("app01.u…
Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中. ORM在业务逻辑层和数据库层之间充当了桥梁的作用. ORM由来 让我们从O/R开始.字母O起源于"对象"(Object),而R则来自于"关系&qu…
目录 ORM字段及参数 orm常用字段 字段合集 自定义char字段 字段参数 外键字段的参数 ORM字段及参数 orm常用字段 字段名 说明 AutoField 如果自己没有定义主键id,django会默认自动创建一个id字段,并把它作为主键 IntegerField 一个整数类型,范围在 -2147483648 到 2147483647 BigterField bigint EmailField varchar(254) BooleanField 布尔值,该字段在存储的时候 你只需要传布尔值…
# -*- coding: utf-8 -*- """ Tencent is pleased to support the open source community by making 蓝鲸智云(BlueKing) available. Copyright (C) 2017 THL A29 Limited, a Tencent company. All rights reserved. Licensed under the MIT License (the "Li…
1.orm外键操作 创建外键: 备注:ForeignKey两个参数,1个为关联的表名,1个为关联的字段名: 在django2.0后,定义外键和一对一关系的时候需要加on_delete选项,此参数为了避免两个表里的数据不一致问题 当建完表后,我们发现在sqlite中,cmdb_userinfo表中字段,usergroup字段名称发生了变更,变更为usergroup_id. 当我们使用obj=models.UserInfo.objects.all()时,可以通过obj.的方式,找到usergroup…
来源于网上整理 总结了一下oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息,索引信息查询SQL如下,希望对大家有所帮助: 1.查询出所有的用户表select * from user_tables 可以查询出所有的用户表select owner,table_name from all_tables; 查询所有表,包括其他用户表 通过表名过滤需要将字母作如下处理 select * from user_tables where table_name = upper('表…
一些说明: 表myapp_person的名称是自动生成的,如果你要自定义表名,需要在model的Meta类中指定 db_table 参数,强烈建议使用小写表名,特别是使用MySQL作为后端数据库时. id字段是自动添加的,如果你想要指定自定义主键,只需在其中一个字段中指定 primary_key=True 即可.如果Django发现你已经明确地设置了Field.primary_key,它将不会添加自动ID列. 本示例中的CREATE TABLE SQL使用PostgreSQL语法进行格式化,但值…
一.ORM字段 类型 说明 AutoField 一个自动增加的整数类型字段.通常你不需要自己编写它,Django会自动帮你添加字段:`id = models.AutoField(primary_key=True)`,这是一个自增字段,从1开始计数.如果你非要自己设置主键,那么请务必将字段设置为`primary_key=True.Django在一个模型中只允许有一个自增字段,并且该字段必须为主键! | | BigAutoField | (1.10新增)64位整数类型自增字段,数字范围更大,从1到9…
Django支持修改表结构 把max_length=64 改为60 再执行一遍 python manage.py makemigrations python manage.py migrate 如果是增加一列 再执行一遍 python manage.py makemigrations 会出现众多选项 如果选择1,会让你输入一个默认值  我们输入“alex” 再执行python manage.py migrate 就更新了数据库 ------------- 如果新加的一列可为空值Null 再执行一…
1 ORM字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列. IntegerField 一个整数类型,范围在 -2147483648 to 2147483647. CharField 字符类型,必须提供max_length参数, max_length表示字符长度. DateField 日期字段,日期格式 YYYY-MM-DD,相当于Python中的datetime.date()实例. DateTi…
常用字段 注意: Django中没有设置对应char类型的字段,但可以支持自己定义. 自定义对应于数据库的char类型字段: from django.db.models import Field class RealCharField(Field): ''' 自定义的char类型字段 ''' def __init__(self,max_length,*args,**kwargs): self.max_length = max_length #拦截一个父类的方法,操作完之后,利用super调用父类…
转载:<Django model字段类型清单> Django 通过 models 实现数据库的创建.修改.删除等操作,本文为模型中一般常用的类型的清单,便于查询和使用: AutoField:一个自动递增的整型字段,添加记录时它会自动增长.你通常不需要直接使用这个字段:如果你不指定主键的话,系统会自动添加一个主键字段到你的model.(参阅自动主键字段) BooleanField:布尔字段,管理工具里会自动将其描述为checkbox. CharField:字符串字段,单行输入,用于较短的字符串,…
Django model字段类型清单 Django 通过 models 实现数据库的创建.修改.删除等操作,本文为模型中一般常用的类型的清单,便于查询和使用: AutoField 一个自动递增的整型字段,添加记录时它会自动增长.你通常不需要直接使用这个字段:如果你不指定主键的话,系统会自动添加一个主键字段到你的model.(参阅自动主键字段) BooleanField 布尔字段,管理工具里会自动将其描述为checkbox. CharField 字符串字段,单行输入,用于较短的字符串,如要保存大量…
django2.0表的ORM字段类型和展示 思路整理 今天想给博客的文章添加增加一个分类字段 但是不知道这种后台字段生成的字段,样式怎么处理 后来找到了,就是在定义模型的字段定义的时候 决定样式 models.CharField 字符串字段 字符型的字段,设置长度,那么就是一个输入框 models.EmailField() 邮箱类型 也是一个输入框,但是自动增加对输入的内容,进行邮箱格式校验 所以如果是添加一个分类的字段 应该是一个选择框,然后数据源是可以自己定义的…
Django ORM 外键操作 经常修改的东西一般不放到内存里面,而是放到一张表里.表跟表之间是可以存在关系的,最基本的就是一对多的关系. models.ForeignKey(ColorDic) 1. 在models.py中创建2张表,UserGroup中有2列数据,UserInfo中有3列数据. from django.db import models # Create your models here. class UserGroup(models.Model): uid=models.Au…
用 CharField 定义的字段在数据库中存放为 verchar 类型 自定义 char 类型字段需要下面的代码: class FixedCharField(models.Field): """ 自定义的 char 类型的字段类 """ def __init__(self, max_length, *args, **kwargs): self.max_length = max_length super(FixedCharField, self)…
    一.聚合函数    from django.db.models import Avg,Sum,Max,Min,Count,F,Q   #导入    # .查询图书的总价,平均价,最大价,最小价    # ret=Books.objects.aggregate(Avg('price'),Min('price'),Max('price'),Sum('price'))    # print(ret)    二.分组查询:以谁group by 就以谁为基表    # 查询名字叫lqz作者书的总价…
外键 在MySQL中,表有两种引擎,一种是InnoDB,另外一种是myisam.如果使用的是InnoDB引擎,是支持外键约束的. 外键的使用 使用外键前需要先确保相应外键已存储在数据库中(flask中会在你引用时自动保存相应外键). 如果想要引用另外一个app的模型,那么应该在传递to参数的时候,使用app.model_name进行指定. 如果模型的外键引用的是本身自己这个模型,那么to参数可以为'self',或者是这个模型的名字. 外键的删除 如果一个模型使用了外键.那么在对方那个模型被删掉后…
# """ python manage.py makemigrations # 更新操作 python manage.py migrate # 转换sql语句到数据库 1. AutoField # int 自增列,必须填入参数 primary_key=True, 当 model 中没有自增列,则会创建一个列名为 id 的列 2. IntegerField # 一个整数类型 3. CharField #字符串类型,必须提供max_length 参数,max_length表示字符…
字段参数: null:用于表示某个字段可以为空 unique:如果设置为 unique=True,则该字段在此表中必须是唯一的 db_index:如果 db_index=True,则代表着为此字段设置数据库索引 default:为该字段设置默认值 关系字段参数: to:设置要关联的表 to_field:设置要关联的表的字段 related_name:反向操作时,使用的字段名,用于代替原反向查询时的 '表名_set' related_query_name:反向查询操作时,使用的连接前缀,用于替换表…
外键约束示例 #models操作如下 class HostInfo(models.Model): servername = models.CharField(max_length=) serverip = models.CharField(max_length=) serverpassword = models.CharField(max_length=) server_group = models.ForeignKey("GroupInfo",to_field="id&qu…
1.在models.py中创创建类 # -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db import models # Create your models here. class User(models.Model): """docstring for User""" #用户名列 字符型 指定长度 username=models.CharF…
model field 类型1.AutoField() 自增的IntegerField,通常不用自己设置,若没有设置主键,Django会自动添加它为主键字段,Django会自动给每张表添加一个自增的primary key. 2.BigIntegerField 64位整数, -9223372036854775808 到 9223372036854775807.默认的显示widget 是 TextInput. 3.BinaryField ( Django 1.6 版本新增 ) 存储二进制数据.不能使…