summaryrefslogtreecommitdiff
path: root/apps/cultivation/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'apps/cultivation/models.py')
-rw-r--r--apps/cultivation/models.py114
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}"
+
+
+