zoukankan      html  css  js  c++  java
  • pycharm-django(创建表,对表的操作)

    创建表

      一.在项目-应用中的models.py文件添加表结构

      如:

        class 表名(models.Model):

            变量名=models.约束(参数)

      二.执行数据库迁移

        更改数据库引擎在setting文件中找到DATABASES

        先注释掉系统自带sqlite引擎

        然后添加mysql引擎,如下:            

     1 DATABASES = {
     2     'default': {
     3         'ENGINE': 'django.db.backends.mysql',
     4         'NAME':'bms',# 要连接的数据库,连接前需要创建好
     5         'USER':'root',# 连接数据库的用户名
     6         'PASSWORD':'',# 连接数据库的密码
     7         'HOST':'127.0.0.1',# 连接主机,默认本级
     8         'PORT':3306#  端口 默认3306
     9     }
    10 }

        在项目名文件下的_init_文件内写入:

           import pymysql

            pymysql.install_as_MySQLdb()

        最后执行数据库迁移命令(在控制台-项目目录下执行)

          1.  Python manage.py makemigrations

          2 . python manage.py migrate

    注意:必须在settings中的INSTALLED_APPS 注册models所在的app

    如:

      'app01.apps.App01Config',/应用名.apps.应用名(首字母大写)Config

    对表的增删改查:

      添加:

        方式一: 变量名=Book(表列名=值)

             变量名.save()

        方式二: 变量名=Book.objects.create(表列名=值)

            变量名.title

      查询: 变量名=Book.objects.约束符(参数)

      删除: 查询(指上一行).delete()

      修改:查询(同上).update(要改的变量名=值)

     1 单表查询:
     2  4 <1> all():                  查询所有结果
     3                             调用者:objects管理器  返回queryset
     4   
     5 <2> filter(**kwargs):       它包含了与所给筛选条件相匹配的对象
     6                             调用者:objects管理器  返回queryset
     7   
     8 <3> get(**kwargs):          返回与所给筛选条件相匹配的对象,返回结果有且只有一个,
     9                             如果符合筛选条件的对象超过一个或者没有都会抛出错误。
    10                             调用者:objects管理器  返回查询到model对象 (注意:查询结果有且只有一个才执行)
    11 <4> exclude(**kwargs):      它包含了与所给筛选条件不匹配的对象
    12                             调用者:objects管理器  返回queryset
    13  
    14 <5> order_by(*field):       对查询结果排序
    15                             由queryset对象调用,返回值是queryset
    16   
    17 <6> reverse():              对查询结果反向排序
    18                             由queryset对象调用,返回值是queryset
    19   
    20 <7> count():                返回数据库中匹配查询(QuerySet)的对象数量。
    21                             由queryset对象调用 返回int
    22   
    23 <8> first():                返回第一条记录
    24                             调用者:queryset   返回model对象
    25   
    26 <9> last():                返回最后一条记录
    27                             调用者:queryset   返回model对象
    28   
    29 <10> exists():              如果QuerySet包含数据,就返回True,否则返回False
    30                             由queryset对象调用 返回值布尔值
    31  
    32 <11> values(*field):        返回一个ValueQuerySet——一个特殊的QuerySet,运行后得到的并不是一系列
    33                             model的实例化对象,而是一个可迭代的字典序列
    34                             由queryset对象调用,返回值是queryset
    35 <12> values_list(*field):   它与values()非常相似,它返回的是一个元组序列,values返回的是一个字典序列
    36                             由queryset对象调用,返回值是queryset
    37  
    38 <13> distinct():            从返回结果中剔除重复纪录
    39                             由queryset对象调用,返回值是queryset
     
    1 模糊查询(双下划线)
    2         Book.objects.filter(price__in=[100,200,300])
    3         Book.objects.filter(price__gt=100)
    4         Book.objects.filter(price__lt=100)
    5         Book.objects.filter(price__range=[100,200])
    6         Book.objects.filter(title__contains="python")
    7         Book.objects.filter(title__icontains="python")
    8         Book.objects.filter(title__startswith="py")
    9         Book.objects.filter(pub_date__year=2012)
     
     
  • 相关阅读:
    BSGS模板(互质与不互质) 洛谷P4195、P3846
    整除分块(数论分块)
    洛谷P3327 [SDOI2015]约数个数和——莫比乌斯反演
    模块二
    模块
    二分法 匿名函数
    3.26作业
    函数的递归调用
    yield表达式 三元表达式
    3.25作业
  • 原文地址:https://www.cnblogs.com/leo-tail-x/p/9844472.html
Copyright © 2011-2022 走看看