Django基础(22): 数据库的设计之自定义表名,建立索引和使用多数据库主从配置

本文介绍了Django中如何通过db_table和db_column自定义数据表名和字段名,使用db_index和Meta选项创建索引,以及如何进行主从数据库配置和读写分离,以提升网站性能。
摘要由CSDN通过智能技术生成

在我们前篇教程Django基础(12): QuerySet特性及高级使用技巧里我们已经介绍了如何减少数据库的访问,节省内存从而提升网站性能。今天小编我将更近一步,分享下Django中如何设计和优化数据库, 从而实现你想要的功能或提升网站的性能。

 

 

通过db_table和db_column自定义数据表名和字段名

假如你的数据库里已经有了一张数据表,且该表包含多个字段,你希望通过Django直接访问该数据表的各个字段而不是重新建立新表,你这时可以通过db_table指定数据表名,还可以通过db_column指定希望访问的字段名。

 

在我们创建一个模型时,Django的ORM会根据应用名(app name), 模型名(model name)和字段名(field name)自动在数据库中创建数据表。比如我们有一个Blog的应用,里面有Article模型, 其中Article模型有title这个字段,那么Django默认会创建一个名为blog_article的数据表,其中有title这个字段。假如我们希望把表名改为article,标题改为article_title,以便与已经存在的数据表或字段建立映射关系,我们可以按如下代码操作。

class Article(models.Model):
    """文章模型"""
   
    # 通过db_column自定义数据表中字段名
   title = models.CharField('标题', max_length=200, db_column='article_title')
    slug = models.SlugField('slug', max_length=60, blank=True)
    
    def __str__(self):
        return self.title
        
    class Meta:
        db_table = 'article' # 通过db_table自定义数据表名

 

通过db_index和Meta index选项给数据表字段建立索引

使用索引可快速访问数据库表中的特定信息。数据库索引好比是一本书前面的目录,没有索引目录的话,你访问书

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值