zoukankan      html  css  js  c++  java
  • PythonWeb-Django框架学习-Demo5-模型层:模型与字段

    没有ORM我们是这样操作数据库的:

    1. 打开数据库连接 conn=.....
    2. 创建游标 cursor=conn.cursor()
    3. 执行SQL effect_rows=cursor.excute("update `recordinfo_user` ......")
    4. 提交修改 conn.commit()
    5. 关闭游标 cursor.close()
    6. 关闭连接 conn.close()

    为了提高效率,人们发明了一种:可以将Python代码,转换成SQL语句的工具--ORM。

    所谓对象关系映射指的是:

    将python对象映射成数据库中的表,程序员专心业务逻辑的实现,不必关心数据库的具体操作。对象关系映射,体现在Django中MTV模式的M(模型层),我们要学习的是如何使用python代码来定义数据库表。

    模型:

    1. 模型映射为数据库中的一张表
    2. 模型在Django中是一个python类
    3. 模型都继承自django.models.Model
    4. 模型的每一个字段代表数据库中的列

    模型定义:

    1. 在应用的模型文件models.py中创建模型类
    2. 在项目配置文件settings.py中注册应用
    3. 在命令终端中执行 python manage.py makemigrations保存修改记录[每对模型进行一次改动后都要执行一次]
    4. 在命令终端中执行 python manage.py migrate 将操作应用到数据库[每对模型进行一次改动后都要执行一次]

    模型字段:

    1. 字段在python中表现为类属性,对应数据库表中的列
    2. 字段命名要避开python的关键字,保留字一般采用xx_xx的形式
    3. 字段名中不要出现两个连续的下划线,因为__是django的查询语法

    字段类型:

    注意字段也是一种类型,Django内置字段类型采用驼峰命名规则

    1. BooleanField 布尔值类型 默认值None
    2. CharField 字符串类型 必须接收一个max_length参数 设置最大长度限制
    3. DateField 日期类型
    4. EmailField 邮箱类型 默认max_length=254 Django内置了邮箱合法性验证
    5. FileField 上传文件类型
    6. IntegerField 整数类型 有符号数 范围在-2147483648~2147483647
    7. TextField 大量文本类型
  • 相关阅读:
    Django框架简介
    Django初识
    web前端 html
    python基础概念
    线程
    进程线程区别,和线程初识
    Nginx配置多个服务共用80端口
    Supervisor重新加载配置
    Gunicorn-Django部署
    django.db.utils.OperationalError: (1193, "Unknown system variable 'storage_engine'")
  • 原文地址:https://www.cnblogs.com/bigbosscyb/p/12511099.html
Copyright © 2011-2022 走看看