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}"