Files
project-managment/apps/projects/models.py
T

35 lines
880 B
Python

from django.db import models
class Project(models.Model):
class Status(models.TextChoices):
PLANNING = "planning"
ACTIVE = "active"
REVIEW = "review"
DONE = "done"
name = models.CharField(max_length=255)
client = models.ForeignKey(
"accounts.CustomUser",
on_delete=models.CASCADE,
related_name="client_projects",
)
status = models.CharField(
max_length=20,
choices=Status.choices,
default=Status.PLANNING,
)
members = models.ManyToManyField(
"accounts.CustomUser",
through="accounts.ProjectMembership",
related_name="projects",
)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class Meta:
ordering = ["-updated_at"]
def __str__(self):
return self.name