diff options
Diffstat (limited to 'apps/cultivation/models.py')
| -rw-r--r-- | apps/cultivation/models.py | 114 | 
1 files changed, 114 insertions, 0 deletions
diff --git a/apps/cultivation/models.py b/apps/cultivation/models.py new file mode 100644 index 0000000..d28cc79 --- /dev/null +++ b/apps/cultivation/models.py @@ -0,0 +1,114 @@ +from django.db import models +from django.contrib.auth.models import User + + + +class MindSubject(models.Model): +    name = models.CharField(max_length=32, unique=True) + +    class Meta: +        db_table = "mind_subjects" + +    def __str__(self): +        return f"{self.name}" + + +class MindMaterial(models.Model): +    subject = models.ForeignKey(MindSubject, on_delete=models.CASCADE) +    material = models.CharField(max_length=32, unique=True) + +    class Meta: +        db_table = "mind_materials" + +    def __str__(self): +        return f"{self.subject},{self.material}" + + +class MindEvent(models.Model): +    date = models.DateField() +    user = models.ForeignKey(User, on_delete=models.CASCADE) +    material = models.ForeignKey(MindMaterial, on_delete=models.CASCADE) +    duration = models.DurationField() + +    class Meta: +        db_table = "mind_events" + +    def __str__(self): +        return f"{self.date},{self.user},{self.material},{self.duration}" + + + +class CardioExercise(models.Model): +    name = models.CharField(max_length=32) + +    class Meta: +        db_table = "cardio_exercises" + +    def __str__(self): +        return f"{self.name}" + + +class CardioEvent(models.Model): +    date = models.DateField() +    user = models.ForeignKey(User, on_delete=models.CASCADE) +    exercise = models.ForeignKey(CardioExercise, on_delete=models.CASCADE) +    duration = models.DurationField() +    distance = models.DecimalField(max_digits=3, decimal_places=3) + +    class Meta: +        db_table = "cardio_events" + +    def __str__(self): +        return f"{self.date},{self.user},{self.exercise},{self.duration},{self.distance}" + + + +class StrengthExercise(models.Model): +    name = models.CharField(max_length=32) + +    class Meta: +        db_table = "strength_exercises" + +    def __str__(self): +        return f"{self.name}" + + +class StrengthEvent(models.Model): +    date = models.DateField() +    user = models.ForeignKey(User, on_delete=models.CASCADE) +    exercise = models.ForeignKey(StrengthExercise, on_delete=models.CASCADE) +    weight = models.DecimalField(max_digits=3, decimal_places=3) +    reps = models.SmallIntegerField() + +    class Meta: +        db_table = "strength_events" + +    def __str__(self): +        return f"{self.date},{self.user},{self.exercise},{self.weight},{self.reps}" + + + +class FlexibilityExercise(models.Model): +    name = models.CharField(max_length=32) + +    class Meta: +        db_table = "flexibility_exercises" + +    def __str__(self): +        return f"{self.name}" + + +class FlexibilityEvent(models.Model): +    date = models.DateField() +    user = models.ForeignKey(User, on_delete=models.CASCADE) +    exercise = models.ForeignKey(FlexibilityExercise, on_delete=models.CASCADE) +    duration = models.DurationField() + +    class Meta: +        db_table = "flexibility_events" + +    def __str__(self): +        return f"{self.date},{self.user},{self.exercise},{self.duration}" + + +  | 
