首页 Django视频课程 Django models元选项Meta和模型成员使用
pay pay

Django models元选项Meta和模型成员使用

日期: 五月 28, 2023, 6:48 a.m.
栏目: Django视频课程
阅读: 117
作者: Python自学网-村长

摘要: Django models元选项Meta和模型成员使用,元选项:在模型类中定义一个Mate类,用于设置元信息

Django models元选项Meta和模型成员使用,元选项:在模型类中定义一个Mate类,用于设置元信息

☆abstract:如果abstract = True 这个model就是一个抽象类,
          一般我们用它来归纳一些公共属性字段,然后继承它的子类可以继承这些字段。
app_label
    label:
    label_lower:
★db_table:
db_teblespace:
get_latest_by:
managed:
order_with_respect_to:
★ordering:
    ordering=['order_date'] # 按订单升序排列
    ordering=['-order_date'] # 按订单降序排列,-表示降序
    ordering=['?order_date'] # 随机排序,?表示随机
    ordering=['-pub_date','author'] # 以pub_date为降序,在以author升序排列
permissions:
proxy:
☆unique_together:unique_together = (("first_name", "last_name"),)
★verbose_name:
★verbose_name_plural:如果不指定Django会自动在模型名称后加一个’s’
default_related_name:
default_permissions:
required_db_features:
required_db_vendor:声明模型支持的数据库。Django默认支持sqlite, postgresql, mysql, oracle
select_on_save:
indexes:
class Class(models.Model):
    cname = models.CharField(max_length=20, verbose_name='班级名')
    boy_num = models.IntegerField(verbose_name='男生数')
    girl_num = models.IntegerField(verbose_name='女生数')
    ctime = models.DateTimeField(auto_now=True, verbose_name='上课时间')
    isDelete = models.BooleanField(default=0, verbose_name='是否删除')

    def __str__(self):
        return self.cname

    class Mate:
        db_table = 'class'   # 用来指定数据表名称,一般使用小写,原来默认数据表名为:应用名称_类名
        ordering = ['id']  # 升序排列  # 排序规则,用于数据表中对象的排序,会消耗服务器资源
        # ordering = ['-id']  # 降序排列
'''模型成员
类属性:objects:是一个models中的Manager类型的对象,用于和数据库之间的交互
自定义objects:定义模型类的时候没有指定管理器,django会自动创建objects管理器
1.自定义管理器:
class Class(models.Model):
    # 自定义模型管理器My_Obj
    My_obj = models.Manager()  # 这时候原有的objects就不存在了

    cname = models.CharField(max_length=20, verbose_name='班级名')
    boy_num = models.IntegerField(verbose_name='男生数')
    ...
'''

 

原创视频,版权所有,未经允许,切勿转载,违者必究!
回顶部