• Django模型(索引)


    一丶说明
    索引类(index classes)可以轻松的创建数据库索引,使用meta.indexes来添加索引设置.

    例如:

    from django.db import models

    class Customer(models.Model):
    first_name = models.CharField(max_length=100)
    last_name = models.CharField(max_length=100)

    class Meta:
    indexes = [
    models.Index(fields=['last_name', 'first_name']),
    models.Index(fields=['first_name'], name='first_name_idx'),
    ]


    indexes默认在django.db.models.indexes中导入,但方便起见,可以使用django.db.models导入
    标准规范使用:
    from django.db import models
    models.<IndexClass>.

    Index options(索引设置)
    class Index(fields=[], name=None, db_tablespace=None(2.0加入))

    作用:
    在数据库中创建一个index(索引)B-Tree类型。


    参数说明:

    1.fields
    Index.fields
    列表内写入需要索引的字段

    默认,列表按照升序排列。要定义一个列的降序的索引,在字段名之前添加连字符即可。

    例如:
    Index(fields=['headline', '-pub_date'])
    SQL语句为(headline, pub_date DESC).

    注意:MySQL不支持索引排序。在这种情况下,一个下降的索引被创建为一个正常的索引


    2.name
    Index.name

    索引名,如果没有提供Django将自动提供一个名称,
    为了与不同的数据库兼容应注意以下两点:
    1.索引名长度不超过30个字符串
    2.不能以数字(0-9)和下划线(_)开头


    3.db_tablespace(2.0新加入)(表空间)

    Index.db_tablespace

    索引表空间名称. 对于单子段索引, 如果表空间名称没有给出, 索引将在字段内创建

    如果Field.db_tablespace没有指定(或者索引使用多字段), 索引是在model的类元内的db表空间选项中指定的表空间中创建的,如果没有创建表空间, 则索引在与表空间相同的位置创建

  • 相关阅读:
    cpu降频问题
    配置 logrotate 指导
    Ubuntu 和 Ros 对应版本关系
    Git 文件管理
    Win10(UEFI启动) 安装Ubuntu16.04双系统
    Clion ROS开发环境设置
    clion 创建快捷方式和配置ros开发环境
    Ubuntu 16.04安装 CastXML
    eigen3 版本信息查看
    ubunutu eigen3包的查找
  • 原文地址:https://www.cnblogs.com/cangshuchirou/p/9301495.html
Copyright © 2020-2023  润新知