首页 > 其他分享 >002索引

002索引

时间:2022-12-28 16:34:31浏览次数:45  
标签:索引 models 创建 field1 002 length Meta

索引是数据库表中对一列或多列的值进行排序的一种结构。默认情况下,Django为模型的主键和外键创建索引。索引可以提高表的查询,更新和删除速度,但会降低表的插入速度。

1、使用字段选项创建索引

与索引有关的字段选项:

db_index:     为True时,为字段创建索引
primary_key:    为True时,字段为模型的主键,为字段创建索引
unique:     为True时,为字段创建唯一索引。
from django.db import models
 
class test1(models.Model):
    field1=models.CharField(max_length=200,db_index=True)   # 为字段创建普通索引
    field2 = models.CharField(max_length=200, unique=True)  # 为字段创建唯一索引

2、在Meta子类中创建索引

模型的Meta子类用于为模型定义描述相关属性的元数据。Meta类indexes选项用于为模型定义索引

class test2(models.Model):
    field1 = models.CharField(max_length=200)
    field2 = models.CharField(max_length=200)
    
    class Meta:
        indexes=[models.Index(fields=['field1'],name='id_field1') ]   # 定义索引

参数fields设置用于创建索引的字段,参数name设置索引名称。如果需要创建基于多个字段的索引,可在参数fields中包含多个字段名称,例如,fields=['field1','field2']

在模型Meta子类中,还可以使用unique_together属性创建组合唯一索引。组合唯一索引要求多个字段的组合值在表中唯一。

class test3(models.Model):
    field1 = models.CharField(max_length=200)
    field2 = models.CharField(max_length=200)
    class Meta:
        unique_together = ('field1','field2')   # 创建组合唯一索引

生成迁移文件

应用迁移文件完成迁移操作

python自动生成.py

标签:索引,models,创建,field1,002,length,Meta
From: https://www.cnblogs.com/yaowy001/p/17010412.html

相关文章

  • Series切片和索引
    目录​​通过索引和位置来取值​​​​利用位置取连续的多个值和不连续的多个值​​​​利用索引取多个值​​​​复合索引取值​​通过索引和位置来取值利用位置取连续的多......
  • P1434 [SHOI2002] 滑雪(记忆化搜索 DAG)
    P1434[SHOI2002]滑雪题意给你一个\(n\timesm\)的矩阵\(A\),\(A_{i,j}\)代表\((i,j)\)这个地方的高度,你可以从任意一个地方出发,然后走到一个和这个地方四联通......
  • MySql索引下推知识分享
    作者:刘邓忠Mysql是大家最常用的数据库,下面为大家带来mysql索引下推知识点的分享,以便巩固mysql基础知识,如有错误,还请各位大佬们指正。1什么是索引下推索引下推(In......
  • 【INDEX】使用“alter index ××× monitoring usage;”语句监控索引使用与否
    随着时间的累积,在没有很好的规划的情况下,​​数据库​​​中也许会存在大量长期不被使用的索引,如果快速的定位这些索引以便清理便摆在案头。我们可以使用“alter ​​index......
  • linux学习笔记002
    文件内容查看cat由第一行开始显示文件内容tac从最后一行开始显示nl显示的时候,输出行号more一页一页的显示文件内容,空格翻页,enter代表往下看一行less可以往下......
  • Mysql回表、索引覆盖、聚簇索引、非聚簇索引
    (22条消息)MySQL的回表查询与索引覆盖_李歘歘的博客-CSDN博客_回表查询和覆盖索引......
  • 4、搜索引擎语法
    Google搜索site:baidu.com可以查看子域名inurl:.php?id=搜索我们指定的字符是否存在于URL中intext:管理将返回所有在网页正文部分包含关键词的网页intitle:管理将返......
  • SQL索引的创建与删除
    索引作为SQL优化查询的一种方法,它可以很好的帮助我们加快数据的查询速度,那为什么我们不去正确的使用它呢? 一、什么是索引?索引是一种特殊的查询表,数据库搜索引擎可以使用它......
  • MySQL索引
    1.索引是什么索引是一个单独的、存储在磁盘上的数据库结构,包含着对数据表里所有记录的引用指针。简单来讲,数据库索引就像是书前面的目录,能加快数据库的查询速度。(1)索引......
  • 主键、唯一键、普通索引
    索引被用来快速找出在一个列上用一特定值的行。所有的MySQL索引(PRIMARY、UNIQUE和INDEX)在B树中存储。参考:https://www.cnblogs.com/zjfjava/p/6922494.html 主键索......