• 对象关系映射 ORM


    1.1 作用

    • MTV框架中包括一个重要的部分,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动

    1.2 具体功能

        1 创建表,修改表,删除表
    	2 插入数据
    	3 修改数据
    	4 删除数据
    	注:不能创建库,在连接mysql前确保库先创建好
    

    1.3 与Python的对应关系

    类名-----》表
    对象------》一条数据
    属性-----》字段
    --------------------------------------
    - class UserInfo(models.Model):
        nid=models.AutoField(primary_key= True) #自增主键
        name=models.CharField(max_length=32)
        password=models.CharField (max_length= 32,null=True)

    1.4 使用mysql步骤

    1、 创建数据库(orm不能创建数据库)
    2、 在settings里的DATABASES配置
     'default': {
            'ENGINE': 'django.db.backends.mysql',
            'HOST':'127.0.0.1',
            'PORT':3306,
            'USER':'root',
            "PASSWORD":'123',
            'NAME': 'db1', #指定已有的库名
    3、 在app的init.py文件里写上:
    import pymysql
        pymysql.install_as_MySQLdb()
        注: django 默认用mysqldb连接mysql数据库,但是mysqldb这个模块不支持python3.0以后的版本,
     所以用pymysql来替换mysqldb
    4、 在models里定义类,类必须继承 models.Model
    5、 写属性,对应着数据库的字段
    6、 执行 python manage.py makemigrations(相当于做一个记录)
    7、 执行 python manage.py migrate (会把记录执行到数据库)
        
        注:创建出来的表名是app的名字_类名
  • 相关阅读:
    多重背包 HDU2191
    带限制求最小价值的完全背包 HDU1114
    均分背包 HDU1171
    经典01背包问题 HDU2602
    记忆化搜索 POJ1579
    最大递增子序列变形——二维带权值 O(n*n) HDU1069
    最大递增子序列变形——二维 O(n*logn) TOJ4701
    OCJP(1Z0-851) 模拟题分析(六)over
    OCJP(1Z0-851) 模拟题分析(八)over
    OCJP(1Z0-851) 模拟题分析(九)over
  • 原文地址:https://www.cnblogs.com/quqinchao/p/10187422.html
Copyright © 2020-2023  润新知