From 5a29c8c49d1789767f88fcd9ff877d2d62673866 Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Thu, 26 Sep 2019 20:43:13 +0300 Subject: [PATCH] Set contact serializer --- webapp/migrations/0059_auto_20190926_2032.py | 23 ++++++++++++++++++++ webapp/models.py | 4 ++-- webapp/serializers.py | 18 ++++++++++++++- 3 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 webapp/migrations/0059_auto_20190926_2032.py diff --git a/webapp/migrations/0059_auto_20190926_2032.py b/webapp/migrations/0059_auto_20190926_2032.py new file mode 100644 index 0000000..a956773 --- /dev/null +++ b/webapp/migrations/0059_auto_20190926_2032.py @@ -0,0 +1,23 @@ +# Generated by Django 2.1.5 on 2019-09-26 17:32 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('webapp', '0058_auto_20190926_2010'), + ] + + operations = [ + migrations.RemoveField( + model_name='occupation', + name='occupation', + ), + migrations.AddField( + model_name='occupation', + name='role', + field=models.OneToOneField(null=True, on_delete=django.db.models.deletion.SET_NULL, to='webapp.Role'), + ), + ] diff --git a/webapp/models.py b/webapp/models.py index c3fd53d..4e5414d 100644 --- a/webapp/models.py +++ b/webapp/models.py @@ -192,10 +192,10 @@ class Occupation(models.Model): start_date = models.DateField(_('Start date')) end_date = models.DateField(_('End date')) - occupation = models.ForeignKey('Role', on_delete=models.SET_NULL, null=True) + role = models.OneToOneField('Role', on_delete=models.SET_NULL, null=True) def __str__(self): - return '{}: {} - {}'.format(self.occupation.name, self.start_date, self.end_date) + return '{}: {} - {}'.format(self.role.name, self.start_date, self.end_date) class Official(models.Model): diff --git a/webapp/serializers.py b/webapp/serializers.py index 7cdee73..3d4a3e8 100644 --- a/webapp/serializers.py +++ b/webapp/serializers.py @@ -93,10 +93,26 @@ class FeedSerializer(serializers.ModelSerializer): return feed +class CommitteeSerializer(serializers.ModelSerializer): + class Meta: + model = Committee + fields = ['name'] + + +class RoleSerializer(serializers.ModelSerializer): + committee = CommitteeSerializer(read_only=True) + + class Meta: + model = Role + fields = ('name', 'description', 'committee') + + class OccupationSerializer(serializers.ModelSerializer): + role = RoleSerializer(read_only=True) + class Meta: model = Occupation - fields = ('start_date', 'end_date') + fields = ('role', 'start_date', 'end_date') class ContactsSerializer(serializers.ModelSerializer):