mirror of
https://github.com/Southampton-RSG/breccia-mapper.git
synced 2026-03-03 11:27:09 +00:00
@@ -1,11 +1,40 @@
|
||||
from django.db import models
|
||||
|
||||
|
||||
class ActivityType(models.Model):
|
||||
"""
|
||||
Representation of the type of activity being conducted.
|
||||
|
||||
Examples may include: 'research activity' or 'stakeholder engagement'.
|
||||
"""
|
||||
#: Name of this type of activity
|
||||
name = models.CharField(max_length=255,
|
||||
unique=True,
|
||||
blank=False, null=False)
|
||||
|
||||
def __str__(self) -> str:
|
||||
return self.name
|
||||
|
||||
|
||||
class ActivityMedium(models.Model):
|
||||
"""
|
||||
Representation of the medium via which the activity is conducted.
|
||||
|
||||
Examples may include: 'face to face' or 'virtual'.
|
||||
"""
|
||||
#: Name of this medium
|
||||
name = models.CharField(max_length=255,
|
||||
unique=True,
|
||||
blank=False, null=False)
|
||||
|
||||
def __str__(self) -> str:
|
||||
return self.name
|
||||
|
||||
|
||||
class ActivitySeries(models.Model):
|
||||
"""
|
||||
A series of related :class:`Activity`s
|
||||
"""
|
||||
|
||||
class Meta:
|
||||
verbose_name_plural = 'activity series'
|
||||
|
||||
@@ -13,6 +42,16 @@ class ActivitySeries(models.Model):
|
||||
name = models.CharField(max_length=1023,
|
||||
blank=False, null=False)
|
||||
|
||||
#: What type of activity does this series represent?
|
||||
type = models.ForeignKey(ActivityType,
|
||||
on_delete=models.PROTECT,
|
||||
blank=False, null=False)
|
||||
|
||||
#: How are activities in this series typically conducted?
|
||||
medium = models.ForeignKey(ActivityMedium,
|
||||
on_delete=models.PROTECT,
|
||||
blank=False, null=False)
|
||||
|
||||
def __str__(self) -> str:
|
||||
return self.name
|
||||
|
||||
@@ -21,7 +60,6 @@ class Activity(models.Model):
|
||||
"""
|
||||
An instance of an activity - e.g. a workshop
|
||||
"""
|
||||
|
||||
class Meta:
|
||||
verbose_name_plural = 'activities'
|
||||
|
||||
@@ -34,5 +72,15 @@ class Activity(models.Model):
|
||||
on_delete=models.PROTECT,
|
||||
blank=True, null=True)
|
||||
|
||||
#: What type of activity does this series represent?
|
||||
type = models.ForeignKey(ActivityType,
|
||||
on_delete=models.PROTECT,
|
||||
blank=False, null=False)
|
||||
|
||||
#: How are activities in this series typically conducted?
|
||||
medium = models.ForeignKey(ActivityMedium,
|
||||
on_delete=models.PROTECT,
|
||||
blank=False, null=False)
|
||||
|
||||
def __str__(self) -> str:
|
||||
return self.name
|
||||
|
||||
Reference in New Issue
Block a user