Django


1047 浏览 4 years, 2 months

4.3 meta

版权声明: 转载请注明出处 http://www.codingsoho.com/

 Option meta

调用时使用_meta,这个在基类中进行了定义

常用选项

  • abstract 这个属性是定义当前的模型是不是一个抽象类。所谓抽象类是不会对应数据库表的。一般我们用它来归纳一些公共属性字段,然后继承它的子类可以继承这些字段。
  • app_label 这个选型只在一种情况下使用,就是你的模型不在默认的应用程序包下的models.py文件中,这时候需要指定你这个模型是哪个应用程序的。
  • db_table 定义该model在数据库中的表名称
  • table_name 使用自定义的表名
  • ordering 这个字段是告诉Django模型对象返回的记录结果集是按照哪个字段排序的。
  • verbose_name
  • verbose_name_plural

例子

class MyAbstractUser(AbstractBaseUser, PermissionsMixin):
    class Meta:
        verbose_name = _('user')
        verbose_name_plural = _('users')
        abstract = True
  • unique_together用于指定组合键值 例如
class AbstractEquipmentInspection(models.Model):
    class Meta:
        verbose_name = _('Equipment Inspection')
        verbose_name_plural = _('Equipment Inspection')
        abstract = True
        unique_together = (('equipment','inspector','check_date'),)

元类