• 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(不设置为主键)

  • 相关阅读:
    【BZOJ 2565】 最长双回文串
    【BZOJ 2160】 拉拉队排练
    【POI 2010】 Antisymmetry
    【HDU 3068】 最长回文
    【POJ 3974】 Palindrome
    【POJ 2503】 Babelfish
    【POJ 3349】 Snowflake Snow Snowflakes
    【BZOJ 2457】 双端队列
    根文件系统的构建与分析(一)之流程分析
    Linux MTD系统剖析
  • 原文地址:https://www.cnblogs.com/thomson-fred/p/9785634.html
Copyright © 2020-2023  润新知