美文网首页
django ORM中的元数据Meta

django ORM中的元数据Meta

作者: 帅子锅 | 来源:发表于2019-02-27 23:16 被阅读0次

总结自:http://www.liujiangblog.com/course/django/99

元数据的概念

什么是元数据,意思就是指那些除了字段外的所有内容,非必要的数据。不用它一般也不会有什么影响,除非你需要一些定制化的东西。
例如以下3类
1.如果表默认是按照id来排序。现在不想用id来排序,想用name来排序怎么办呢?可以在模型中定义一个子类 Meta(这个名称是固定的),ordering 就是元数据

from django.db import models

class Ox(models.Model):
    name = models.CharField()

    class Meta:         # 注意,是模型的子类,要缩进!
        ordering = ["name "]

2.如果不想用默认的数据库表名怎么办呢?使用元数据,如下db_table 就是元数据,表名就变成了Oxxxxx

from django.db import models

class Ox(models.Model):
    name = models.CharField()
    class Meta:         # 注意,是模型的子类,要缩进!
        db_table = "Oxxxxx"

3.如果你定义了一个模型类,但是你并不想让这个模型类生成数据表,仅仅是想让其他的类来继承这个类,那么你就需要定义这样一个元数据:abstract=True。定义完之后这个类就成了基类,不会再数据库中生成数据表。

from django.db import models

class Ox(models.Model):
    name = models.CharField()
    class Meta:         # 注意,是模型的子类,要缩进!
        abstract=True

相关文章

网友评论

      本文标题:django ORM中的元数据Meta

      本文链接:https://www.haomeiwen.com/subject/vdtcuqtx.html