mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-29 16:03:21 +00:00
43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
from django.db import models
|
|
|
|
class Domain(models.Model):
|
|
name = models.CharField(max_length=255)
|
|
cycle = models.IntegerField(choices=[(1, 'Cycle 1'), (2, 'Cycle 2'), (3, 'Cycle 3'), (4, 'Cycle 4')])
|
|
|
|
def __str__(self):
|
|
return f"{self.name} (Cycle {self.cycle})"
|
|
|
|
class Category(models.Model):
|
|
name = models.CharField(max_length=255)
|
|
domain = models.ForeignKey(Domain, on_delete=models.CASCADE, related_name='categories')
|
|
|
|
def __str__(self):
|
|
return self.name
|
|
|
|
class PaymentPlanType(models.Model):
|
|
code = models.CharField(max_length=50, unique=True)
|
|
label = models.CharField(max_length=255)
|
|
|
|
def __str__(self):
|
|
return self.label
|
|
|
|
class PaymentModeType(models.Model):
|
|
code = models.CharField(max_length=50, unique=True)
|
|
label = models.CharField(max_length=255)
|
|
|
|
def __str__(self):
|
|
return self.label
|
|
|
|
class Cycle(models.Model):
|
|
number = models.IntegerField(unique=True)
|
|
label = models.CharField(max_length=50)
|
|
|
|
def __str__(self):
|
|
return f"Cycle {self.number} - {self.label}"
|
|
|
|
class Level(models.Model):
|
|
name = models.CharField(max_length=50)
|
|
cycle = models.ForeignKey(Cycle, on_delete=models.CASCADE, related_name='levels')
|
|
|
|
def __str__(self):
|
|
return self.name |