前言

Django模型是与数据库相关的,与数据库相关的代码一般写在models.py中,Django支持sqlite3,MySQL,PostgreSQL等数据库

只需要在settings.py中配置即可,不用更改models.py中的代码。当我们的web项目需要新增一张表和字段内容时,需要在models.py里面写相关内容。

配置数据库

django配置mysql数据库教程参考前面一篇https://www.cnblogs.com/canglongdao/p/14095028.html

1.先安装mysql数据库驱动;

2.settings.py文件中找到DATABASES配置项,设置连接mysql,账号、密码、域名、端口;

注意:django里面无法创建数据库,数据库名称django1(名称可随意命名)需要手动创建;

   django里面只能创建表名;

创建表

编辑models.py文件,比如我想新增一张user表,有2个字段:name、age。name是字符串类型,age是int类型

希望创建的表和字段效果设计如下(用navicat工具查看的)

那么对应models.py文件代码为

#models.py
from django.db import models# Create your models here.
class User(models.Model):name=models.CharField(max_length=30)age=models.IntegerField()  

接着打开cmd,cd到django的根目录,执行2个指令;

python manage.py makemigrations
python manage.py migrate

 makemigrations和migrate

makemigrations这一步执行后,会在当前app目录下生成一个migrations文件夹,该文件夹的内容就是数据库要执行的内容;

migrate就是执行之前生成的migrations文件,这一步才是操作数据库的一步,执行完成后,数据库里面会新增一张表xjyn_user

  • 新建的表名是app名称_class类名称的组合,自动转化成小写,也就是xjyn_user
  • name=models.CharField(max_length=30) 这个表示name字段是字符串类型(CharField),最大长度是30个字符串。
  • age=models.IntegerField() 这个表示age字段是int类型(charField)
  • id是默认的主键

字段类型

django的models里面字段类型除了上面的常用的models.CharField 和models.IntegerField,还有更多的类型;

1.models.AutoField 自增列=int(11)

如果没有的话,默认生成一个名称为id的列,如果要显示的自定义一个自增列,必须将列设置为主键primary_key=True。

2.models.CharField 字符串字段

必须max_length 参数

3.models.BooleanField  布尔类型=tinyint(1)

  不能为空,Blank=True

4.models.ComaSeparatedIntegerField  用逗号分割的数字=varchar

继承CharField,所以必须max_length参数

5、models.DateField  日期类型 date
  对于参数,auto_now =True则每次更新都会更新这个时间;auto_now_add 则只是第一次创建添加,之后的更新不再改变。
6、models.DateTimeField  日期类型 datetime
  同DateField的参数
7、models.Decimal  十进制小数类型= decimal
  必须指定整数位max_digits和小数位decimal_places
8、models.EmailField  字符串类型(正则表达式邮箱)=varchar
  对字符串进行正则表达式
9、models.FloatField  浮点类型= double
10、models.IntegerField  整形
11、models.BigIntegerField  长整形
  integer_field_ranges ={
    'SmallIntegerField'

python测试开发django(9)--模型models详解相关推荐

  1. Python之django框架模型(models)详解

    第一部分:模型类介绍 1.1 定义属性 Django根据属性的类型确定以下信息: 当前选择的数据库支持字段的类型 渲染管理表单时使用的默认html控件 在管理站点最低限度的验证 django会为表创建 ...

  2. python测试开发django(8)--django连接mysql

    前言 Django对各种数据库提供了很好的支持,包括:PostgreSQL.MySQL.SQLite.Oracle.本篇以mysql为例简单介绍django连接mysql进行数据操作 Django连m ...

  3. python测试开发django(20)--admin首页和title修改

    前言 django的admin首页默认显示的"Django管理",title显示的是"Django站点管理员",这里的文案内容可以修改成自己项目的后台页面内容 ...

  4. python测试开发django -141.Bootstrap 面板(Panels)

    前言 面板组件用于把 DOM 组件插入到一个盒子中.创建一个基本的面板,只需要向 元素添加 class .panel 和 class .panel-default 即可 基础面板 不带标题的基本面板 ...

  5. python测试框架untest_Python单元测试框架 unittest详解

    以上是函数的测试,类的测试与函数的测试及其相似 1 import unittest2 3 #-*-coding:utf-8-*- 4 classAnonymousSurvey():5 "&q ...

  6. 怎么创建python django项目_创建Django项目图文实例详解

    本文实例讲述了创建Django项目的方法.分享给大家供大家参考,具体如下: 创建Django项目 创建一个HelloDjango项目 GitHub地址:https://github.com/liang ...

  7. 可爱的python测试开发库(python测试开发工具库汇总)

    2019独角兽企业重金招聘Python工程师标准>>> 欢迎转载,转载请注明来源: github地址 谢谢点赞 本文地址 Python测试开发库 参考资料 https://githu ...

  8. Python测试开发django4.templates模板配置

    [上一篇]我们讲了Python测试开发django3.视图和URL配置 今天详细介绍下 Django 模板的应用,模板是一个文本,用于分离文档的表现形式和内容. 我们已经知道创建项目用django-a ...

  9. Django新手入门(五)——Models详解

    Django新手入门(五)--Models详解 数据库 ORM Django中的ORM Django中的Models 定义models.py中的类 常用数据字段 常用设置选项 常用函数以及修饰词 其他 ...

最新文章

  1. 资源 | 阿里发布免费深度学习课程:感知机梳理(附链接)
  2. 进击的数据中台,企业数字化转型的新引擎
  3. 181023词霸有道扇贝每日一句
  4. OpenDDS简单示例
  5. Java 编码规范8(编程规约-注释规约与其它)
  6. document.execCommand(‘copy‘) 复制不成功 不同浏览器兼容问题
  7. win10内存占用率过高怎么办?Win10电脑内存占用率很高的原因和解决方法
  8. 手把手教你画架构图,看一次就会了!
  9. 判断图片是否为现场照片(Live Photo亦即内含Exif信息)
  10. Tensorflow keras入门教程
  11. dss linux 摄像头 rtsp,用VLC读取摄像头产生RTSP流,DSS主动取流转发(一)(二) 【转】...
  12. Termux安装node
  13. 《Linux Device Driver》——时间、延迟及延缓操作
  14. c51中的intrins.h库函数
  15. ADRC,自抗扰控制器,扩张状态观测器,ESO,模型预测控制算法MPC
  16. android 后台键盘按键监听,android键盘的监听
  17. 一份百投百中的计算机校招简历
  18. javaweb简单小项目-投票系统
  19. 彩虹显IP QQ动了谁的奶酪?
  20. cakephp 框架

热门文章

  1. 国内机械设备领域知名的调查研究咨询公司
  2. 信息系统分析与设计 第六章 流程建模
  3. Unity Lighting设置
  4. NYOJ--万圣节派对
  5. 5G的远洋探险,其实只有华为一名航海家
  6. wsl Linux子系统和windows主机文件系统互相访问方法
  7. 计算机基础知识掌握评语,计算机教师给学生评语
  8. 苹果神武4手游等待服务器响应,新服想要成为大佬要注意这些细节
  9. 清华学姐三年的测试成长经历,到最后的喜提高薪offer
  10. linux磁盘分区命令及操作