zoukankan      html  css  js  c++  java
  • 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表空间选项中指定的表空间中创建的,如果没有创建表空间, 则索引在与表空间相同的位置创建

  • 相关阅读:
    jQuery插件主要有两种扩展方式
    系统负载测试工具-LoadRunner
    安全扫描工具-AppScan
    newinstance()和new有什么区别?(转)
    类的加载、连接和初始化 (转)
    tar 基础
    了解【重放攻击】
    DDLDMLDCLDQL
    web.xml的配置问题
    组合与聚合
  • 原文地址:https://www.cnblogs.com/cangshuchirou/p/9301495.html
Copyright © 2011-2022 走看看