Skip to content

Instantly share code, notes, and snippets.

@rbtsolis
Created November 1, 2020 01:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rbtsolis/d81ce8bcd48339f7a9588e475314ccf7 to your computer and use it in GitHub Desktop.
Save rbtsolis/d81ce8bcd48339f7a9588e475314ccf7 to your computer and use it in GitHub Desktop.
from django.db import models
from simple_history.models import HistoricalRecords
from django.utils.translation import ugettext_lazy as _
class GetOrNoneManager(models.Manager):
"""
Adds get_or_none method to objects
"""
def get_object_or_none(self, default_value=None, *args, **kwargs):
try:
return self.get(*args, **kwargs)
except self.model.DoesNotExist:
return default_value
class BaseModel(models.Model):
created = models.DateTimeField(_("Creaeted"), auto_now_add=True)
updated = models.DateTimeField(_("Updated"), auto_now=True)
history = HistoricalRecords(inherit=True)
is_active = models.BooleanField(_("Active"), default=True)
objects = GetOrNoneManager()
class Meta:
abstract = True
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment