1 from django.db import models
3 class Area(models.Model):
4 name = models.CharField(max_length=64)
5 notes = models.TextField()
7 class Crag(models.Model):
8 area = models.ForeignKey(
10 on_delete=models.CASCADE,
13 name = models.CharField(max_length=64)
14 notes = models.TextField()
16 class Route(models.Model):
17 area = models.ForeignKey(
19 on_delete=models.CASCADE,
20 related_name='routes',
22 name = models.CharField(max_length=64)
23 notes = models.TextField()
25 ROUTE_DIFFICULTY_CHOICES = (
75 class Pitch(models.Model):
76 route = models.ForeignKey(
78 on_delete=models.CASCADE,
79 related_name='pitches',
81 name = models.CharField(max_length=64, null=True)
82 difficulty = models.CharField(max_length=5, choices=ROUTE_DIFFICULTY_CHOICES)
83 safety = models.CharField(max_length=4, choices=SAFETY_CHOICES)
84 notes = models.TextField()
86 class Cluster(models.Model):
87 area = models.ForeignKey(
89 on_delete=models.CASCADE,
90 related_name='clusters',
92 name = models.CharField(max_length=64)
93 notes = models.TextField()
95 class Boulder(models.Model):
96 cluster = models.ForeignKey(
98 on_delete=models.CASCADE,
99 related_name='boulders',
101 name = models.CharField(max_length=64)
102 notes = models.TextField()
104 BOULDER_DIFFICULTY_CHOICES = (
125 class Problem(models.Model):
126 boulder = models.ForeignKey(
128 on_delete=models.CASCADE,
129 related_name='problems',
131 name = models.CharField(max_length=64)
132 difficulty = models.CharField(max_length=3, choices=BOULDER_DIFFICULTY_CHOICES)
133 safety = models.CharField(max_length=4, choices=SAFETY_CHOICES)
134 notes = models.TextField()