mirror of
https://github.com/Southampton-RSG/breccia-mapper.git
synced 2026-03-03 03:17:07 +00:00
@@ -7,6 +7,16 @@ from django.contrib import admin
|
||||
from . import models
|
||||
|
||||
|
||||
@admin.register(models.ActivityType)
|
||||
class ActivityTypeAdmin(admin.ModelAdmin):
|
||||
pass
|
||||
|
||||
|
||||
@admin.register(models.ActivityMedium)
|
||||
class ActivityMediumAdmin(admin.ModelAdmin):
|
||||
pass
|
||||
|
||||
|
||||
@admin.register(models.ActivitySeries)
|
||||
class ActivitySeriesAdmin(admin.ModelAdmin):
|
||||
pass
|
||||
|
||||
52
activities/migrations/0002_activity_type_medium.py
Normal file
52
activities/migrations/0002_activity_type_medium.py
Normal file
@@ -0,0 +1,52 @@
|
||||
# Generated by Django 2.2.10 on 2020-02-19 13:01
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('activities', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='ActivityMedium',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=255, unique=True)),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='ActivityType',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=255, unique=True)),
|
||||
],
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='activity',
|
||||
name='medium',
|
||||
field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.PROTECT, to='activities.ActivityMedium'),
|
||||
preserve_default=False,
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='activity',
|
||||
name='type',
|
||||
field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.PROTECT, to='activities.ActivityType'),
|
||||
preserve_default=False,
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='activityseries',
|
||||
name='medium',
|
||||
field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.PROTECT, to='activities.ActivityMedium'),
|
||||
preserve_default=False,
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='activityseries',
|
||||
name='type',
|
||||
field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.PROTECT, to='activities.ActivityType'),
|
||||
preserve_default=False,
|
||||
),
|
||||
]
|
||||
@@ -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