【Python】【进阶篇】34、Django Meta元数据类属性解析
在 Django 中,每个模型都有一个 Meta 类,用于设置该模型的元数据。Meta 类是一个嵌套在模型内部的类,用于管理模型的元数据。常用的元数据属性包括:
1. ordering:指定模型返回查询结果的顺序,可以是单个字段或多个字段组成的元组。
2. verbose_name:设置模型在 Admin 后台显示时的名称,单数形式。
3. verbose_name_plural:设置模型在 Admin 后台显示时的名称,复数形式。
4. db_table:指定模型对应的表名。
5. unique_together:定义模型中的多个字段组合起来必须唯一。
6. indexes:为模型定义索引,可以是单个字段或多个字段组成的元组。
例如,可以这样定义一个模型的 Meta 类:
```python
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=50)
class Meta:
ordering = ['title']
verbose_name = 'book'
verbose_name_plural = 'books'
unique_together = ('title', 'author')
```
上述代码中,定义了一个名为 Book 的模型,其中 Meta 类指定了该模型按照 title 字段排序,并在 Admin 后台显示时使用 'book' 和 'books' 作为名称,另外还规定 title 字段和 author 字段的值不能重复。
总之,Meta 元数据类属性提供了很多方便的设置来管理模型的行为和属性。