basemodel

This commit is contained in:
caoqianming 2020-05-11 13:51:46 +08:00
parent fdf19dfadc
commit 4effaa56a5
2 changed files with 18 additions and 14 deletions

View File

@ -3,7 +3,7 @@ from django.contrib.auth.models import AbstractUser
import django.utils.timezone as timezone
from django.db.models.query import QuerySet
from utils.model import SoftModel, CommonModel
from utils.model import SoftModel, BaseModel
class DictType(SoftModel):
@ -29,7 +29,7 @@ class Dict(SoftModel):
on_delete=models.SET_NULL, verbose_name='')
class Position(CommonModel):
class Position(BaseModel):
"""
职位/岗位
"""
@ -143,3 +143,13 @@ class User(AbstractUser):
def __str__(self):
return self.username
class CommonModel(SoftModel):
"""
业务用基本表
"""
create_by = models.ForeignKey(User, null=True, blank=True, on_delete=models.SET_NULL, verbose_name='创建人', related_name='create_by')
update_by = models.ForeignKey(User, null=True, blank=True, on_delete=models.SET_NULL, verbose_name='最后编辑人', related_name='update_by')
class Meta:
abstract = True

View File

@ -47,8 +47,7 @@ class SoftDeletableManagerMixin(object):
class SoftDeletableManager(SoftDeletableManagerMixin, models.Manager):
pass
class SoftModel(models.Model):
class BaseModel(models.Model):
create_time = models.DateTimeField(
default=timezone.now, verbose_name='创建时间', help_text='创建时间')
update_time = models.DateTimeField(
@ -58,9 +57,13 @@ class SoftModel(models.Model):
class Meta:
abstract = True
class SoftModel(BaseModel):
class Meta:
abstract = True
objects = SoftDeletableManager()
def delete(self, using=None, soft=True, *args, **kwargs):
'''
这里需要真删除的话soft=False即可
@ -73,13 +76,4 @@ class SoftModel(models.Model):
return super(SoftModel, self).delete(using=using, *args, **kwargs)
class CommonModel(models.Model):
create_time = models.DateTimeField(
default=timezone.now, verbose_name='创建时间', help_text='创建时间')
update_time = models.DateTimeField(
auto_now=True, verbose_name='修改时间', help_text='修改时间')
is_deleted = models.BooleanField(
default=False, verbose_name='删除标记', help_text='删除标记')
class Meta:
abstract = True