Private
Public Access
1
0

updated models.py to add powerzones

This commit is contained in:
Sander Roosendaal
2017-01-24 23:24:57 +01:00
parent 800934e12a
commit e4c2270306

View File

@@ -49,6 +49,30 @@ database_url = 'mysql://{user}:{password}@{host}:{port}/{database_name}'.format(
if settings.DEBUG or user=='':
database_url = 'sqlite:///db.sqlite3'
# model for Power Zone names
class PowerZonesField(models.TextField):
__metaclass__ = models.SubfieldBase
def __init__(self, *args, **kwargs):
self.token = kwargs.pop('token',',')
super(PowerZonesField, self).__init__(*args, **kwargs)
def to_python(self, value):
if not value: return
if isinstance(value, list):
return value
return value.split(self.token)
def get_db_prep_value(self, value, connection, prepared=False):
if not value: return
assert(isinstance(value, list) or isinstance(value, tuple))
return self.token.join([unicode(s) for s in value])
def value_to_string(self, obj):
value = self._get_val_from_obj(obj)
return self.get_deb_prep_value(value)
# For future Team functionality
class Team(models.Model):
name = models.CharField(max_length=150)
@@ -79,6 +103,8 @@ class Rower(models.Model):
pw_at = models.IntegerField(default=160,verbose_name="AT Power")
pw_tr = models.IntegerField(default=160,verbose_name="TR Power")
pw_an = models.IntegerField(default=160,verbose_name="AN Power")
powerzones = PowerZonesField(default=['UT3','UT2','UT1','AT','TR','AN'])
c2token = models.CharField(default='',max_length=200,blank=True,null=True)
tokenexpirydate = models.DateTimeField(blank=True,null=True)