Django建表时中 Class Meta 与 def __str__的作用

在使用django的ORM模型进行数据库的设计时  可以在models类中使用class  Meta  和  def __strt__  来自定义一些东西

from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=64)
    price = models.DecimalField(max_digits=5, decimal_places=2)

    class Meta:
        db_table = 'wakee_book'
        verbose_name = '书籍'
        verbose_name_plural = verbose_name

    def __str__(self):
        return '《%s》' % self.title

  

其中 db_table 属性:自定义数据表的名称,是可选属性。默认数据表的命名规则为: 应用名_类名。

这时django会将会为你创建一张名为 wakee_book 的数据表。

 

verbose_name 属性:自定义一个易于理解的名称,如上图,

    verbose_name = '书籍', 用来标志这个表时用来存放书籍信息的

 

 verbose_name_plural 属性:
    如果此项没有设置,Django 会使用 verbose_name + "s"来表示

 

__str__ 是为了再管理站点中加载这个表时想显示什么属性

上一篇:Django admin-前后端不分离


下一篇:Django 外键字段的更新和插入数据