Start exposing stuff in admin interface
[climbing.kerkeslager.com] / src / climbing / models.py
index 1693a05..3473531 100644 (file)
@@ -2,7 +2,10 @@ from django.db import models
 
 class Area(models.Model):
     name = models.CharField(max_length=64)
-    notes = models.TextField()
+    notes = models.TextField(blank=True, null=True)
+
+    def __str__(self):
+        return self.name
 
 class Crag(models.Model):
     area = models.ForeignKey(
@@ -11,7 +14,10 @@ class Crag(models.Model):
         related_name='crags',
     )
     name = models.CharField(max_length=64)
-    notes = models.TextField()
+    notes = models.TextField(blank=True, null=True)
+
+    def __str__(self):
+        return self.name
 
 class Route(models.Model):
     area = models.ForeignKey(
@@ -20,7 +26,10 @@ class Route(models.Model):
         related_name='routes',
     )
     name = models.CharField(max_length=64)
-    notes = models.TextField()
+    notes = models.TextField(blank=True, null=True)
+
+    def __str__(self):
+        return self.name
 
 ROUTE_DIFFICULTY_CHOICES = (
     ('5.0', '5.0'),
@@ -81,7 +90,12 @@ class Pitch(models.Model):
     name = models.CharField(max_length=64, null=True)
     difficulty = models.CharField(max_length=5, choices=ROUTE_DIFFICULTY_CHOICES)
     safety = models.CharField(max_length=4, choices=SAFETY_CHOICES)
-    notes = models.TextField()
+    notes = models.TextField(blank=True, null=True)
+
+    def __str__(self):
+        if self.name:
+            return '{} ({})'.format(self.name, self.difficulty)
+        return 'Pitch ({})'.format(self.difficulty)
 
 class Cluster(models.Model):
     area = models.ForeignKey(
@@ -90,7 +104,10 @@ class Cluster(models.Model):
         related_name='clusters',
     )
     name = models.CharField(max_length=64)
-    notes = models.TextField()
+    notes = models.TextField(blank=True, null=True)
+
+    def __str__(self):
+        return self.name
 
 class Boulder(models.Model):
     cluster = models.ForeignKey(
@@ -99,7 +116,10 @@ class Boulder(models.Model):
         related_name='boulders',
     )
     name = models.CharField(max_length=64)
-    notes = models.TextField()
+    notes = models.TextField(blank=True, null=True)
+
+    def __str__(self):
+        return self.name
 
 BOULDER_DIFFICULTY_CHOICES = (
     ('V0', 'V0'),
@@ -131,4 +151,7 @@ class Problem(models.Model):
     name = models.CharField(max_length=64)
     difficulty = models.CharField(max_length=3, choices=BOULDER_DIFFICULTY_CHOICES)
     safety = models.CharField(max_length=4, choices=SAFETY_CHOICES)
-    notes = models.TextField()
+    notes = models.TextField(blank=True, null=True)
+
+    def __str__(self):
+        return '{} ({})'.format(self.name, self.difficulty)