zoukankan      html  css  js  c++  java
  • Metaclasses

    1、Metaclasses

    Metaclasses是创建class(对象)的东西,它们是描述类的类,我们经常使用所理解的对象和class以及Metaclasses可以理解成以下形式:

    MyClass = MetaClass()
    MyObject = MyClass()

    2、django模型类中的内部类meta

    django模型类中的meta是一个内部类,它用于定义一些模型类的行为特征,用于设置类的元信息

    定义方式如下:

    class Student(models.Model):
        
        ...... #模型类的属性相关定义
        class Meta:
            ...... # Meta类的属性

    3、Meta类的部分属性

    (1)abstract

    abstract属性定义当前的模型类是否为一个抽象类,在django模型类中一个类对应一张数据库表,而模型类中定义Meta类的abstract属性为True时,当前模型类即为一个抽象类,抽象类不会有数据库表,一般用它来归纳一些公共属性字段,继承该类的子类能够继承这些字段

    class Student(models.Model):
        
        ...... #模型类的属性相关定义
        class Meta:
            abstract=True

    (2)db_table

    db_table指明该模型类对应的数据库表的名字,默认为应用名小写_类名小写

    class Student(models.Model):
        
        ...... #模型类的属性相关定义
        class Meta:
            db_table='student'

    (3)ordering

    对象的默认排序字段

    class Student(models.Model):
        
        ...... #模型类的属性相关定义
        class Meta:
            ordering=["id"] #按id升序
            ordering=["-id"] #按id降序

    注意:排序会增加数据库的开销,相当于添加了order by

  • 相关阅读:
    [CQOI2017] 小Q的棋盘
    CF75D Big Maximum Sum
    Dockerfile
    docker镜像与容器的导出导入
    ubuntu安装glusterFS
    常用工具网站网址
    国内数据分析平台
    清理系统垃圾
    sql注入笔记
    shopify Liquid语言学习知识点总结
  • 原文地址:https://www.cnblogs.com/slfh/p/10771479.html
Copyright © 2011-2022 走看看