Python---Models 模型

时间:2022-11-11 11:25:58

#Models  模型

数据结构 + 算法 = 程序

---> URL ---> VIEW ---> Temple --->

DB:分类---关系

Teacher   Student

姓名  年龄  地址  course

DB

MongoDB

Redis

-------------------------------------

# Models 模型

- ORM

  -ObjectRelationMap: 把面向对象思想转换成关系数据库

  * 类对应表格

  * 类中的属性对用表中的字段

  *在应用中的models.py文件中定义class

  *所有需要使用ORM的class都必须是models.Model的子类

  *class中的所有属性对应表格中的字段

  *字段的类型都必须使用 models.xxx 不能使用python中的

  *在django中,Models负责跟数据库交互

- django链接数据库

  - 自带默认数据库Sqllite3

    - 关系型数据库

    - 轻量级

  - 建议开发用sqlite3,部署用mysql之类数据库

    -  切换数据库在settings中进行设置

      # django 链接 mysql

      DATABASES = [

        'default' = {

          'ENGINE' : 'django.db.backends.mysql',

          'NAME':'数据库名',

          ‘PASSWORD’:'数据库密码',

          ‘HOST’:'127.0.0.1',

          'PORT':'3306',

        }

      ]

    -  需要在项目文件下的__init__文件中导入pymysql包

    # 在主项目文件下的__init__文件中导入pymysql包

      ···

      # 在主项目的__init__文件中

      import pymysql

      pymysql.install_as_MySQLdb()

      ···

# models类的使用

- 定义和数据库表映射的类

  - 在应用中的models.py文件中定义class  

  - 所有需要使用ORM的class都必须是models.Model的子类

  -  class中的所有属性对应表格中的字段

  - 字段的类型都必须使用  modles.xxx 不能使用python中的类型

- 字段常用参数

  1、max_length:规定数值的最大长度

  2、blank:是否允许字段为空,默认不允许

  3、null:在DB中控制是否保存为null,默认为false

  4、default:默认值

  5、unique:唯一

  6、verbose_name:假名

- 数据库迁移

    1、在命令行中,生成数据迁移的语句(生成sql语句)

      ```

      python3 manage.py makemigrations

      ```

    2、在命令行中,输入数据迁移的指令

      ```

      python manage.py migrate

      ```

      ps:如果迁移中出现没有变化或者报错,可以尝试强制迁移

     

      ···

      # 强制迁移命令

      python3 manage.py makemigrations 应用名

      python3 manage.py migrate 应用名

      ```

3、对于默认数据库,为了避免出现混乱,如果数据库中没有数据,每次迁移前自带的sqlite3数据库删除

deactivate

activate

-

Python---Models 模型的更多相关文章

  1. python学习-- Django根据现有数据库,自动生成models模型文件

    Django引入外部数据库还是比较方便的,步骤如下 : 创建一个项目,修改seting文件,在setting里面设置你要连接的数据库类型和连接名称,地址之类,和创建新项目的时候一致 运行下面代码可以自 ...

  2. 转 Django根据现有数据库,自动生成models模型文件

    Django引入外部数据库还是比较方便的,步骤如下 : 创建一个项目,修改seting文件,在setting里面设置你要连接的数据库类型和连接名称,地址之类,和创建新项目的时候一致 运行下面代码可以自 ...

  3. Django models模型

    Django models模型 一. 所谓Django models模型,是指的对数据库的抽象模型,models在英文中的意思是模型,模板的意思,在这里的意思是通过models,将数据库的借口抽象成p ...

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

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

  5. django的models模型类的常用数据类型和选项

    django框架的models模块ORM框架,能够让我们通过编写类的方式,帮助我们自动生成数据库表. 生成的数据库表名为 应用模块名称_类名 数据库表中字段名 如果我们没有在参数中指定,就是我们写的类 ...

  6. 玩转python主题模型程序库gensim

    gensim是python下一个极易上手的主题模型程序库(topic model),网址在:http://radimrehurek.com/gensim/index.html 安装过程较为繁琐,参考h ...

  7. models模型层

    ORM简介 查询数据层次图解:如果操作mysql,ORM是在pymysq之上又进行了一层封装 MVC或者MTV框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需 ...

  8. <Django> MVT三大块之Models(模型)

    1.ORM(对象-关系-映射)---面向对象,不需要面向SQL语句 根据对象的类型生成表结构 将对象.列表的操作,转化成SQL语句 将SQL语句查询的结果转化成对象.列表 目的:实现数据模型与数据库的 ...

  9. python sklearn模型的保存

    使用python的机器学习包sklearn的时候,如果训练集是固定的,我们往往想要将一次训练的模型结果保存起来,以便下一次使用,这样能够避免每次运行时都要重新训练模型时的麻烦. 在python里面,有 ...

  10. pd的django To do list教程-----(2)models模型的建立

    1:在models.py中建表 from django.db import models class Tcontent(models.Model): content = models.CharFiel ...

随机推荐

  1. linux 负载均衡

    [博文推荐]关于负载均衡技术使用的一些误区 如今,负载均衡已经不是一个新鲜的词,也不是什么新技术,主要用于解决单机负载能力的局限性,但问题是你的应用真的到了单 机的负载上限了吗,未必,很多不知道如何推 ...

  2. Qt5 程序启动画面动图效果

    2333终于实现动图,先弄了一个窗口去掉标题栏假装就是启动画面了,还是那只萌萌的猫这次会动了! 基类用的是QWidget  类名称MainView #ifndef MAINVIEW_H #define ...

  3. Django~static files (e.g. images, JavaScript, CSS)

    django.contrib.staticfiles settings.py django.contrib.staticfiles is included in your INSTALLED_APPS ...

  4. poj3249 Test for Job ——拓扑+DP

    link:http://poj.org/problem?id=3249 在拓扑排序的过程中进行状态转移,dp[i]表示从起点到 i 这个点所得到的的最大值.比如从u点到v点,dp[v]=max(dp[ ...

  5. onMouseDown onMouseUp onMouseMove(移动鼠标图像大小变化)

  6. Rosenbrock function

    w测试最优化算法性能可通过其. https://en.wikipedia.org/wiki/Rosenbrock_function https://zh.wikipedia.org/wiki/Rose ...

  7. Python之路【第二篇】:Python基础

    Python基础 对于Python,一切事物都是对象,对象基于类创建 所以,以下这些值都时对象:"zhurui".22.['北京','上海','深圳'],并且是根据不同的类生成的对 ...

  8. 消息队列比较-rabbitmq/kafka/rocketmq/ONS

    主要是比较这几种队列中间件: rabbitmq kafka rocketmq ONS 分以下几个维度来比较 高并发 毫无疑问KAFKA发消息的速度是最快的 ROCKETMQ/ONS次之 rabbitm ...

  9. servlet中的请求响应与重定向区别

    一.概念 请求响应(转发):将客户端请求转发另一个servlet或者jsp页面------------------------getRequestDispatcher()方法 重定向: 返回一个连接给 ...

  10. Tomcat7启动报Error listenerStart错误

    问题 Tomcat7在启动时报错,详细信息如下: 十一月 23, 2013 7:21:58 下午 org.apache.catalina.core.StandardContext startInter ...