• ORM,Django对数据库的连接和使用


    ORM,Django对数据库连接和使用数据

    • ORM(对象关系映射) 很多语言中的web框架都有这个概念

      • 为什么要有ORM?

        • 写程序离不开数据
        • 新的语法,不需要我们自己写SQL语句
        • 我们按照新的语法写代码,他帮我翻译成SQL语句
      • ORM优点:

        • 开发效率高
        • 容易掌握
        • 容易移植
      • ORM的缺点:

        • 代码执行效率低
      • ORM的重点相互对应

        • 数据表
          属性 字段
          对象 数据行
      • ORM能做哪些事情

        • 操作数据表
        • 操作数据行
      • Django中的ORM如何使用

        • 1.Django框架连接哪个数据库 ---》settings.py中的DATABASE列表中

          • 5XpHDQ.png
        • 2.告诉Django框架用什么连接数据库

          • 在和settings.py同级目录中的__init__.py中配置一下参数

            • import pymysql
              pymysql.install_as_MySQLdb()
              
          • 5XpVWS.png

        • 3.在app下面的models.py这个文件中定义类

          • class Book(models.Model):
                id = models.AutoField(primary_key=True)  #在数据库中生成自增的字段
                title = models.CharField(max_length=20)  # varchar(20)
                publisher = models.ForeignKey(to='Publisher')  # ORM自动刚给外键字段加_id,即publisher指的是关联的对象,publisher_id才是Book中的关联键
            
          • 外键关联后查询,所以为数据库添加数据时要注意参数!!!!

            • book_obj.publisher       # 书籍关联的出版社对象
              book_obj.publisher_id    # 书籍关联的出版社id(数据库中真正保存的那一列的值)
              
              
              Book.objects.create(title=new_title, publisher=Publisher.objects.get(id=publisher_id))  #属性为publisher,则需要添加一个对象
              Book.objects.create(title=new_title, publisher_id=publisher_id)  #添加对应的外键关联值
              
          • 5XLjlO.png

        • 4.俩个命令,在Terminal中输入以下命令,使其在数据库中生成数据

          • python manage.py makemigrations   #在(app/migrations)上记录models.py的变更记录
            python manage.py migrate    #把变更记录翻译成SQL语句,去数据库执行
            
          • 5XJzuu.png

  • 相关阅读:
    PHP中的赋值运算符
    PHP-字符串过长不用担心
    php-引号中出现$
    wamp多站点配置
    php-wamp滴定仪网站的根目录
    php初探
    JMeter jmeter-plugins插件的安装使用
    JMeter 调试取样器(Debug Sampler)
    css选择器
    css文本样式
  • 原文地址:https://www.cnblogs.com/yuncong/p/9856924.html
Copyright © 2020-2023  润新知