Repository URL to install this package:
|
Version:
1.0.7 ▾
|
import uuid
from django.db import models
class UUIDPrimaryKeyField(models.UUIDField):
def __init__(self, *args, **kwargs):
kwargs["primary_key"] = True
kwargs["unique"] = True
kwargs["editable"] = False
super().__init__(*args, **kwargs)
def pre_save(self, model_instance, add):
value = super().pre_save(model_instance, add)
if value is None:
value = uuid.uuid4()
setattr(model_instance, self.attname, value)
return value
class GenericUUIDModel(models.Model):
class Meta:
abstract = True
id = UUIDPrimaryKeyField()
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)