24.Model基类表写法

1. 用户表抽象基类

from django.contrib.auth.models import AbstractUser


# 重写django认证用户模型
# 继承django自带的抽象用户类,进行重写
class User(AbstractUser):

    phone = models.CharField('手机号', max_length=20)
    img = models.ImageField(upload_to='user', null=True, blank=True)
    nick_name = models.CharField('昵称', max_length=20)
    address = models.CharField('地址', max_length=255)

    class Meta:
        db_table = 'tb_user'

2. 表结构基类

  • 有这样一个场景,之前已经设计好了用户的信息表,但是再设计另外一个业务表的时候,信息有点重复,可以采用表的继承,让一个表作为基类,业务表就可以继承它
class Base(models.Model):
    create_time = models.TimeField(auto_now_add=True)
    update_time = models.TimeField(auto_now=True)

    class Meta:
        abstract = True

其他业务表继承Base基类表即可

posted @ 2020-10-12 21:59  远山渡月  阅读(98)  评论(0编辑  收藏  举报