Django下的model详解

一、ORM

  1、定义

    (待完善)

  2、操作步骤

    1)根据类自动创建数据库表

      ①在model.py中写类

        class UserInfo(models.Model):
          username = models.CharField(max_length=32)
          pwd = models.CharField(max_length=32)

      ②在Teminal中执行以下两句代码

        python manage.py makemigrations

        python manage.py migrate

        注:如果有多个app创建数据库时,出现选择app时在setting文件中INSTALLED_APPS设置

      ③通过以上就创建了数据库中的两个表:username和pwd

        注:这是在pycharm中的自动使用默认的sqlite数据库,可以在setting文件下的DATABASE那里设置第三方数据库(以下有解释)

    2)根据类对数据库表中的数据进行各种操作

      ①在view视图中通过函数对表进行增删改查,首先在view中导入模块

        from app import models

      ②在view中定义函数进行操作        

        def orm(req):
          models.UserInfo.objects.create(username='root',pwd='123')
          return HttpResponse('ok')

      ③函数操作中对数据库表的多种操作(增删查改)

        #增加数据          

          方式一:
            models.UserInfo.objects.create(username='root',pwd='123')
          方式二:
            dic = {'username':'eric','pwd':'123'}
            models.UserInfo.objects.create(**dic)
          方式三:
            obj = models.UserInfo(username='alex',pwd='123')
            obj.save()

        #查询数据

          方式一:查询所有数据            

            result = models.UserInfo.objects.all()
            print(result)
            # result => QuerySet => Django => [] 是所有数据的集合,每行数据是一个对象
            # <QuerySet [<UserInfo: UserInfo object (1)>, <UserInfo: UserInfo object (2)>,<UserInfo: UserInfo object (3)>]>
            for row in result:
              print(row.id,row.username,row.pwd)
            # 1 root 123
            # 2 alex 123
            # 3 eric 123

          方式二:依据条件查询

            result = models.UserInfo.objects.filter(username = 'root')
            # 这里是拿出的一行数据,返回是QuerySet的第一个对象
            print(result)
            for row in result:
              print(row.id,row.username,row.pwd)

        #删除数据          

          models.UserInfo.objects.all().delete()
          models.UserInfo.objects.filter(username='alex').delete()
          models.UserInfo.objects.filter(id='1').delete()

        #更改数据          

          models.UserInfo.objects.all().update(pwd=456)
          models.UserInfo.objects.filter(id=3).update(pwd=456)

 

二、数据库配置

  1、MySQL数据库配置

      在setting文件下操作;

      DATABASES = {
      'default':{
     'ENGINE':'django.db.backends.mysql',
     'NAME':'dbname',
     'USER':'root',
     'PASSWORD':'xxx',
     'HOST':'',
     'PORT':'',

       }
      }

  2、注意    

    Django默认使用MySQLdb模块链接MySQL
    主动修改为pymysql,在project同名文件夹下的__init__文件中添加如下代码即可:
      import pymysql
         pymysqo.install_as_MySQLdb()

 

转载于:https://www.cnblogs.com/xuedingwangluo/p/9590872.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值