bikemap/tracking/models.py

33 lines
965 B
Python
Raw Normal View History

2015-09-01 03:31:25 +00:00
from django.db import models
# Create your models here.
2015-09-01 04:47:56 +00:00
from django.contrib.auth.models import User
2015-09-01 03:31:25 +00:00
class Track(models.Model):
2015-09-01 04:47:56 +00:00
user = models.ForeignKey(User, blank=False)
2015-09-01 03:31:25 +00:00
start = models.DateTimeField()
name = models.CharField(max_length=1024, blank=False)
description = models.TextField(blank=True)
@property
def finish(self):
2015-09-01 04:47:56 +00:00
return self.segment_set.order_by("-time")[0].finish
2015-09-01 03:31:25 +00:00
2015-09-01 04:50:22 +00:00
class Segment(models.Model):
track = models.ForeignKey(Track)
2015-09-01 04:47:56 +00:00
time = models.DateTimeField()
number = models.IntegerField(default=1)
@property
def finish(self):
return self.point_set.order_by("-time")[0].time
2015-09-01 03:31:25 +00:00
2015-09-01 04:50:22 +00:00
2015-09-01 03:31:25 +00:00
class Point(models.Model):
time = models.DateTimeField()
latitude = models.DecimalField(max_digits=13, decimal_places=10)
longitude = models.DecimalField(max_digits=12, decimal_places=10)
2015-09-01 03:31:25 +00:00
elevation = models.DecimalField(max_digits=20, decimal_places=2)
segment = models.ForeignKey(Segment)