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