Skip to content

Models

This module provides abstract base models and mixins for consistent model design across Django applications using drf-corekit.

BaseModel

Provides a consistent primary key field across all models.

id = models.BigAutoField(primary_key=True)

PublicIDMixin

Adds a public facing UUID identifier.

public_id = models.UUIDField(default=uuid.uuid4, unique=True)

CreatedAtMixin

Adds creation timestamp tracking.

created_at = models.DateTimeField(default=timezone.now)

LastModifiedAtMixin

Tracks last modification time automatically.

last_modified_at = models.DateTimeField(auto_now=True)

CommonModel

A standard base model combining:

  • BaseModel
  • CreatedAtMixin
  • LastModifiedAtMixin

Use this as the default base for most internal models.

CommonWithPublicIDModel

Extends CommonModel with a public UUID identifier.