Django Model的Meta选项解析

图片[1]-Django Model的Meta选项解析-山海云端论坛

Django默认生成表名的规则为”应用名小写_模型类名小写”,但你可以通过在模型类中定义Meta类来进行自定义。

class Department(models.Model): """部门类""" name = models.CharField(max_length=20) create_date = models.DateField(auto_now_add=True) objects = DepartmentManager() # 使用自定义的模型管理器 def __str__(self): return self.name class Meta: db_table = "department" # 定义表名 verbose_name = '部门' # 在管理后台显示的名称 verbose_name_plural = verbose_name # 定义复数时的名称

Django模型的Meta选项有多个属性,以下是详细说明:

  • abstract: 是否为抽象类,不对应数据库表。
  • app_label: 指定模型所属的应用程序名称。
  • db_table: 自定义数据库表名。
  • managed: 是否由Django管理数据库表,默认为True。
  • ordering: 结果集的默认排序方式。
  • permissions: 为Django Admin管理模块下使用,描述方法权限。
  • unique_together: 通过两个字段保持唯一性。
  • verbose_name: 指定更可读的模型名称。
  • verbose_name_plural: 指定模型的复数形式。

通过这些选项,你能更灵活地定义模型行为,包括表名、排序方式、权限等。这些设置有助于定制化Django模型的特性。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容