|
|
@ -0,0 +1,21 @@ |
|
|
|
|
|
import uuid |
|
|
|
|
|
from django.db import models |
|
|
|
|
|
|
|
|
|
|
|
class BaseModel(models.Model): |
|
|
|
|
|
""" |
|
|
|
|
|
Abstract base model that uses a UUID for its primary key instead of an integer. |
|
|
|
|
|
""" |
|
|
|
|
|
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) |
|
|
|
|
|
|
|
|
|
|
|
class Meta: |
|
|
|
|
|
abstract = True |
|
|
|
|
|
|
|
|
|
|
|
class TimeStampedModel(BaseModel): |
|
|
|
|
|
""" |
|
|
|
|
|
Abstract base model that adds self-updating created_at and updated_at fields. |
|
|
|
|
|
""" |
|
|
|
|
|
created_at = models.DateTimeField(auto_now_add=True) |
|
|
|
|
|
updated_at = models.DateTimeField(auto_now=True) |
|
|
|
|
|
|
|
|
|
|
|
class Meta: |
|
|
|
|
|
abstract = True |