1.开发流程

- 配置数据库
- 定义模型类
- 生成迁移文件
- 执行迁移生成数据表
- 使用模型类进行增删改查操作

2.ORM

- **概述**:对象->关系->映射
- **任务**
-- 根据对象类型生成表结构
-- 将对象、列表的操作转换为sql语句
-- 将sql语句查询到的结果转换为对象、列表
- **优点**
-- 极大减轻了开发人员的工作量、不需要面对因数据库的变更而修改代码

3.定义模型

-** 模型、属性、表、字段间的关系**
-- 一个模型类在数据库中对应一张表,在模型类中定义的属性对应该模型对照表中的一个字段
- **定义属性**
-- **字段类型**
CharField(max_length=):字符串类型,默认html表单textinput
DecimalField(max_digits=None, decimal_places=None)
-使用python的Decimal实例表示的十进制浮点数
-第一个参数:位数总数;第二个参数:小数点后的数字位数
DateField([auto_now=False,auto_now_add=False])
- auto_now: 每次保存对象时,自动设置该字段为当前时间,用于“最后一次修改”的时间戳
- auto_now_add: 当对象第一次创建时自动设置当前时间,用于创建的时间戳
-- **关系**
- **分类**
- ForeignKey: 一对多,将字段定义在多的端中
- ManyToManyField: 多对多,将字段定义在两端中
- oneToOneField: 一对一,将字段定义在任意一端中
- **用一访问多**
- 格式:对象.模型类小写_set(grade.students_set)
- **1v1**
- 格式:对象.模型类小写(grade.students)
- **访问id**
- 格式:对象.属性_id(student.sgrade_id)
-** 创建模型类**
- **元选项**
-- 在模型类中定义的Meta类,用于设置元信息
- db_table: 定义数据表名,推荐使用小写字母,数据表名默认为项目名_类名小写
- ordering:对象的默认排序字段,获取对象的列表时使用(ordering['id']升序,ordering['-id']降序);排序会增加数据库的开销

4. 模型成员

django模型01的更多相关文章

  1. django模型中的关系对应

    显然,关系数据库的力量在于将表相互关联.Django提供了定义三种最常见的数据库关系类型的方法:多对一,多对多和一对一. 在说明之前,首先来理解一下这三个概念: 多对一: 两个集合a,b;集合a中的多 ...

  2. python3之Django模型(一)

    1.模型概述 模型是关于您的数据的唯一,明确的信息来源,它包含您正在存储的数据的重要字段和行为.通常,每个模型映射到单个数据库表. 每个模型都是一个子类的python类django.db.models ...

  3. Django模型层Meta内部类详解

    Django 模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性.以下对此作一总结: abstract      这个属性是定义当前的模型类是不是一个抽象类.所谓抽象类是不会对应 ...

  4. django模型

    用django时,只要用到数据库就得用到模型. 一.数据库的MTV开发模式 从MVC到MTV 所谓软件架构的MVC模式将数据的存取逻辑(Module),表现逻辑(View)和业务逻辑(Controll ...

  5. 【Python】django模型models的外键关联使用

    Python 2.7.10,django 1.8.6 外键关联:http://www.bubuko.com/infodetail-618303.html 字段属性:http://www.cnblogs ...

  6. django模型中的抽象类(abstract)

    首先介绍下django的模型有哪些属性:先看例子: Django 模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性.以下对此作一总结: abstract 这个属性是定义当前的模 ...

  7. Django模型之Meta选项详解

    Django模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性.而可用的选项大致包含以下几类 abstract 这个属性是定义当前的模型是不是一个抽象类.所谓抽象类是不会对应数据 ...

  8. Django模型-数据库操作

    前言 前边记录的URLconf和Django模板全都是介绍页面展示的东西,也就是表现层的内容.由于Python先天具备简单而强大的数据库查询执行方法,Django 非常适合开发数据库驱动网站. 这篇开 ...

  9. python django模型内部类meta详细解释

    Django 模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性.下面对此作一总结: abstract      这个属性是定义当前的模型类是不是一个抽象类.所谓抽象类是不会相应 ...

随机推荐

  1. Android官方文档翻译 十四 3.2Supporting Different Screens

    Supporting Different Screens 支持不同的屏幕 This lesson teaches you to 这节课教给你 Create Different Layouts 创建不同 ...

  2. 《剑指offer》面试题53 - I. 在排序数组中查找数字 I

    问题描述 统计一个数字在排序数组中出现的次数. 示例 1: 输入: nums = [5,7,7,8,8,10], target = 8 输出: 2 示例 2: 输入: nums = [5,7,7,8, ...

  3. Centos下安装Scala(1)

    1.登录centos至root角色下 配置环境变量 2.执行下述命令 scala -version 出现结果如下 输入 'y' 3.开始安装 4.安装完成界面 5.启动成功以及测试程序

  4. 【采坑小计】prometheus的remote write协议遇到的问题

    没有读懂源码以前,无脑试错总是效率很低的! 1.thanos receiver报store locally for endpoint : conflict 接口返回的日志: store locally ...

  5. Google插件开发探索

    简单的开始 https://blog.lateral.io/2016/04/create-chrome-extension-modify-websites-html-css/ 基础教程 https:/ ...

  6. CMake语法—环境变量(Environment Variable)

    目录 CMake语法-环境变量(Environment Variable) 1 定义环境变量 2 应用环境变量 2.1 代码结构 2.2 示例代码 2.3 运行结果 3 小结 CMake语法-环境变量 ...

  7. Servlet Cookie的使用

    HTTP(超文本传输协议)是一个基于请求与响应模式的无状态协议.无状态主要指 2 点: 协议对于事务处理没有记忆能力,服务器不能自动维护用户的上下文信息,无法保存用户状态: 每次请求都是独立的,不会受 ...

  8. 「数据结构」Link-Cut Tree(LCT)

    #1.0 简述 #1.1 动态树问题 维护一个森林,支持删除某条边,加入某条边,并保证加边.删边之后仍然是森林.我们需要维护这个森林的一些信息. 一般的操作有两点连通性,两点路径权值和等等. #1.2 ...

  9. 关于使用学生或者教师身份免费使用JetBrains全家桶的说明

    官网操作 JetBrains是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄罗斯的圣彼得堡及美国麻州波士顿都设有办公室,该公司有众多的好用的IDE,比如pycharm,webstorm,Int ...

  10. 随机UA

    from fake_useragent import UserAgent ua = UserAgent().random headers={ 'User-Agent':ua } print(heade ...