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 import django.utils.timezone as timezone
from django.db.models.query import QuerySet from django.db.models.query import QuerySet
from utils.model import SoftModel, CommonModel from utils.model import SoftModel, BaseModel
class DictType(SoftModel): class DictType(SoftModel):
@ -29,7 +29,7 @@ class Dict(SoftModel):
on_delete=models.SET_NULL, verbose_name='') on_delete=models.SET_NULL, verbose_name='')
class Position(CommonModel): class Position(BaseModel):
""" """
职位/岗位 职位/岗位
""" """
@ -143,3 +143,13 @@ class User(AbstractUser):
def __str__(self): def __str__(self):
return self.username 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): class SoftDeletableManager(SoftDeletableManagerMixin, models.Manager):
pass pass
class BaseModel(models.Model):
class SoftModel(models.Model):
create_time = models.DateTimeField( create_time = models.DateTimeField(
default=timezone.now, verbose_name='创建时间', help_text='创建时间') default=timezone.now, verbose_name='创建时间', help_text='创建时间')
update_time = models.DateTimeField( update_time = models.DateTimeField(
@ -59,8 +58,12 @@ class SoftModel(models.Model):
class Meta: class Meta:
abstract = True abstract = True
objects = SoftDeletableManager() class SoftModel(BaseModel):
class Meta:
abstract = True
objects = SoftDeletableManager()
def delete(self, using=None, soft=True, *args, **kwargs): def delete(self, using=None, soft=True, *args, **kwargs):
''' '''
这里需要真删除的话soft=False即可 这里需要真删除的话soft=False即可
@ -73,13 +76,4 @@ class SoftModel(models.Model):
return super(SoftModel, self).delete(using=using, *args, **kwargs) 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