zoukankan      html  css  js  c++  java
  • Django基础篇--Models

    在Django中创建与数据库的链接并调用数据库的数据是很关键的步骤,那么怎么实现这个过程呢?

    下面这篇文章简单梳理了一下创建Model层的过程和应用

    模型-Models

    首先需要理解什么是模型?

     模型,根据数据库中数据表中数据表的结构而创建出来的class

    1. 创建和使用模型的方法

     1)创建数据库需要到数据库中手动创建     create  database  …

     2) 配置      setting.py中配置

      DATABASES ={

    ‘default’:{

    ‘ENGINE’:

    ‘NAME’:},

    }

     参数的解析:

    1. ENGINE: 引擎      django.db.backends.mysql

    2. NAME :连接到的数据库名称       web.db

    3.USER: 用户名称 ,通常为root

    4. PASSWORD: 密码

    5. HOST : 连接的主机,本机localhost/127.0.0.1/可以不写

    6. PORT :端口,3306

    例如下面这张图:

    在做数据库集群的时候如果要连接多个数据库,可以在写default后面再添加一个字典类型的key-value对,

    key的名称可以自己定义。

    2. 如何编写Models

    首先需要理解两个概念,实体类和实体

      1)实体类

       Models中每个class都称之为模型类(Model)或者实体类(Entry)

       Models中的每个实体类,必须继承自models.Model(原生类是没有models的操作的)

      2)实体:

        数据表中的一行记录,就是一个实体。

        实体完整性:确保每张表中的数据不能有重复。  

        主键是为了实现实体完整性的方法之一。

    3.Django中提供的数据字段 和 字段选项

     这里只写一些比较常用的,更多详细的用法细节可以移步到官网 : www.djangoproject.com

    在Documentaiton栏目中相应找到 The  model  layer 

    1. 数据字段

       1) CharField()             字符串, 属性值max_length必须要写,表明字符串长度,相当于原生MySQL中的char()

       2) BooleanField()        布尔值,True或者False

       3) DataField()              时间,只有日期,不带时间点,例如:2018-1-1

       4) DateTimeField()      时间,带时间点,例如:2018-1-1 12:00:00

       5) DecimalField()         带小数点的定点数,可以用于与金融或者数字有关的字段

       6) EmailField()            Email类型

       7) URLField()             URL类型,在数据库中会转换为固定长度(200)字符串

       8) FileField()              文件类型

       9) IntergerField()        整型数

       10) FloatField()          浮点数

       11) ImageField()        图片,一般在实际应用中存放图片的地址

       12) TextField()           文本

      

      2. 字段选项

       1) null                       是否允许为空,赋值True或者False,例如:name =  models.Char(max_length= 10 , null = False)

       2) blank                    是否为空格

       3) choices         

       4)db_column           属性名,例如:db_column = ' music_name '

       5)db_index              索引,为该字段设置索引

       6) default                默认值,例如:password = models.Char(max_length= 10 , defalut = '123456')

       7) primary_key       主键,值为True/False,默认为False(不设置为主键)

  • 相关阅读:
    openwrt 相关文章
    负载均衡相关文章
    Today's Progress
    Rodrigues formula is beautiful, but uneven to sine and cosine. (zz Berkeley's Page)
    Camera Calibration in detail
    Fundamental Matrix in Epipolar
    Camera Calibration's fx and fy do Cares in SLAM
    FilterEngine::apply
    FilterEngine 类解析——OpenCV图像滤波核心引擎(zz)
    gaussBlur
  • 原文地址:https://www.cnblogs.com/thomson-fred/p/9785634.html
Copyright © 2011-2022 走看看