Files
WerkoutAPI/exercise/models.py
Trey t 85222397a0 WIP
2023-07-03 14:47:23 -05:00

41 lines
1.8 KiB
Python

from django.db import models
from django.conf import settings
from random import randrange
# Create your models here.
class Exercise(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
name = models.CharField(null=True, blank=True, max_length=512)
description = models.CharField(null=True, blank=True, max_length=1024)
side = models.CharField(null=True, blank=True, max_length=64)
is_two_dumbbells = models.BooleanField(default=False)
is_trackable_distance = models.BooleanField(default=False)
is_alternating = models.BooleanField(default=False)
is_weight = models.BooleanField(default=False)
is_distance = models.BooleanField(default=False)
is_duration = models.BooleanField(default=False)
is_reps = models.BooleanField(default=False)
joints_used = models.CharField(null=True, blank=True, max_length=255)
movement_patterns = models.CharField(null=True, blank=True, max_length=255)
equipment_required = models.CharField(null=True, blank=True, max_length=255)
muscle_groups = models.CharField(null=True, blank=True, max_length=255)
synonyms = models.CharField(null=True, blank=True, max_length=255)
class Meta:
ordering = ('name',)
def __str__(self):
return self.name + ":" + self.description
def video_url(self):
return str(settings.MEDIA_URL) + "exercise_videos/" + self.name.replace(" ", "_") + ".mp4"
def nsfw_video_url(self):
name = self.name
if name == "Recover":
name = name + "_" + str(randrange(1,6))
return str(settings.MEDIA_URL) + "nsfw_exercise_videos/" + name.replace(" ", "_") + ".mp4"
def audio_url(self):
return str(settings.MEDIA_URL) + "exercise_audio/" + self.name.replace(" ", "_") + ".m4a"