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基类表即可