From 4effaa56a5d792bc968b4b65b0e21a57279eeaa8 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Mon, 11 May 2020 13:51:46 +0800 Subject: [PATCH] basemodel --- server/apps/system/models.py | 14 ++++++++++++-- server/utils/model.py | 18 ++++++------------ 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/server/apps/system/models.py b/server/apps/system/models.py index 62da70c..fc75e11 100644 --- a/server/apps/system/models.py +++ b/server/apps/system/models.py @@ -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 \ No newline at end of file diff --git a/server/utils/model.py b/server/utils/model.py index a9eb954..2ea3282 100644 --- a/server/utils/model.py +++ b/server/utils/model.py @@ -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