Browse Source

feat(core): initialize core app with abstract UUID and timestamp models

master
PouyaKhajavi 2 days ago
parent
commit
627f841ec7
  1. 3
      backend/config/settings.py
  2. 0
      backend/core/__init__.py
  3. 3
      backend/core/admin.py
  4. 5
      backend/core/apps.py
  5. 0
      backend/core/migrations/__init__.py
  6. 21
      backend/core/models.py
  7. 3
      backend/core/tests.py
  8. 3
      backend/core/views.py

3
backend/config/settings.py

@ -45,6 +45,9 @@ INSTALLED_APPS = [
# Third party apps
'rest_framework',
'corsheaders',
# Local apps
'core',
]
MIDDLEWARE = [

0
backend/core/__init__.py

3
backend/core/admin.py

@ -0,0 +1,3 @@
from django.contrib import admin
# Register your models here.

5
backend/core/apps.py

@ -0,0 +1,5 @@
from django.apps import AppConfig
class CoreConfig(AppConfig):
name = 'core'

0
backend/core/migrations/__init__.py

21
backend/core/models.py

@ -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

3
backend/core/tests.py

@ -0,0 +1,3 @@
from django.test import TestCase
# Create your tests here.

3
backend/core/views.py

@ -0,0 +1,3 @@
from django.shortcuts import render
# Create your views here.
Loading…
Cancel
Save