-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmodels.py
36 lines (24 loc) · 1.04 KB
/
models.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
from django.db import models
from django.utils.translation import gettext_lazy as _
##################可以根据现有脚手架模型进行替换####################
nb = dict(null=True, blank=True)
class GetOrNoneManager(models.Manager):
"""returns none if object doesn't exist else model instance"""
def get_or_none(self, **kwargs):
try:
return self.get(**kwargs)
except ObjectDoesNotExist:
return None
class CreateTracker(models.Model):
created_at = models.DateTimeField(_("Created Time"),auto_now_add=True,editable=False)
class Meta:
abstract = True
ordering = ('-created_at',)
class CreateUpdateTracker(CreateTracker):
updated_at = models.DateTimeField(_("Updated Time"),auto_now=True,editable=False)
def save(self,update_fields=None,*args,**kwargs):
if update_fields:
update_fields.append("updated_at")
return super().save(update_fields=update_fields,*args,**kwargs)
class Meta(CreateTracker.Meta):
abstract = True