add C2 World Class Performance model
This commit is contained in:
@@ -21,6 +21,8 @@ from sqlalchemy import create_engine
|
||||
import sqlalchemy as sa
|
||||
from sqlite3 import OperationalError
|
||||
from django.utils import timezone
|
||||
import pandas as pd
|
||||
from dateutil import parser
|
||||
import datetime
|
||||
from django.core.exceptions import ValidationError
|
||||
from rowers.rows import validate_file_extension
|
||||
@@ -149,6 +151,75 @@ class PowerZonesField(models.TextField):
|
||||
value = self._get_val_from_obj(obj)
|
||||
return self.get_deb_prep_value(value)
|
||||
|
||||
# Age records
|
||||
def save_agegroup(df,weightcategory,sex):
|
||||
for id,row in df.iterrows():
|
||||
agemin = int(row['Age2'])
|
||||
agemax = int(row['Age3'])
|
||||
duration = row['Time']
|
||||
power = int(row['Power'])
|
||||
season = int(row['Season'])
|
||||
name = row['Name']
|
||||
record = C2WorldClassAgePerformance(
|
||||
agemin = agemin,
|
||||
agemax = agemax,
|
||||
weightcategory = weightcategory,
|
||||
sex=sex,
|
||||
distance = 2000,
|
||||
duration = duration,
|
||||
power = power,
|
||||
season = season,
|
||||
name = name,
|
||||
)
|
||||
record.save()
|
||||
print record
|
||||
|
||||
def make_records(readfile):
|
||||
xls = pd.ExcelFile(readfile)
|
||||
female_df = xls.parse('Female')
|
||||
female_lw_df = xls.parse('Female LW')
|
||||
male_df = xls.parse('Male')
|
||||
male_lw_df = xls.parse('Male LW')
|
||||
save_agegroup(female_df,'hwt','female')
|
||||
save_agegroup(male_df,'hwt','male')
|
||||
save_agegroup(female_lw_df,'lwt','female')
|
||||
save_agegroup(female_lw_df,'lwt','male')
|
||||
|
||||
|
||||
class C2WorldClassAgePerformance(models.Model):
|
||||
weightcategories = (
|
||||
('hwt','heavy-weight'),
|
||||
('lwt','light-weight'),
|
||||
)
|
||||
|
||||
sexcategories = (
|
||||
('male','male'),
|
||||
('female','female'),
|
||||
)
|
||||
|
||||
weightcategory = models.CharField(default="hwt",
|
||||
max_length=30,
|
||||
choices=weightcategories)
|
||||
|
||||
sex = models.CharField(default="female",
|
||||
max_length=30,
|
||||
choices=sexcategories)
|
||||
|
||||
agemin = models.IntegerField(default=19,verbose_name="Minimum Age")
|
||||
agemax = models.IntegerField(default=29,verbose_name="Maximum Age")
|
||||
|
||||
distance = models.IntegerField(default=2000)
|
||||
name = models.CharField(max_length=200,blank=True)
|
||||
duration = models.TimeField(default=1,blank=True)
|
||||
season = models.IntegerField(default=2013)
|
||||
power = models.IntegerField(default=200)
|
||||
|
||||
class Meta:
|
||||
unique_together = ('agemin','agemax','sex','weightcategory','distance')
|
||||
|
||||
def __unicode__(self):
|
||||
return self.name+':'+str(self.agemin)+'-'+str(self.agemax)+' ('+str(self.season)+')'
|
||||
|
||||
# For future Team functionality
|
||||
class Team(models.Model):
|
||||
choices = (
|
||||
|
||||
Reference in New Issue
Block a user