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

  • 相关阅读:
    《互联网时代》第三集·能量
    《互联网时代》第二集·浪潮
    java 基础类库之 SysFun
    java 基础类库之 SQLFun
    java 基础类库之 FormatFun
    Java 之 JDBC
    WepE
    MySql学习笔记
    Oracle学习笔记——点滴汇总
    Linux学习笔记——基于鸟哥的Linux私房菜
  • 原文地址:https://www.cnblogs.com/slfh/p/10771479.html
Copyright © 2011-2022 走看看