diff options
| author | 2019-04-24 22:25:30 +0200 | |
|---|---|---|
| committer | 2019-04-24 22:25:30 +0200 | |
| commit | abd77fdaa67d1686df64f82a919ee283b8baec9b (patch) | |
| tree | 7f31e34b330febf2a78a8889f0322de46b9517d7 | |
| parent | Merge pull request #202 from gdude2002/django+200/wiki (diff) | |
Adding migration solution
| -rw-r--r-- | pydis_site/apps/api/admin.py | 4 | ||||
| -rw-r--r-- | pydis_site/apps/api/migrations/0036_alter_nominations_api.py | 32 | ||||
| -rw-r--r-- | pydis_site/apps/api/models/bot/nomination.py | 10 | ||||
| -rw-r--r-- | pydis_site/apps/api/serializers.py | 4 | ||||
| -rw-r--r-- | pydis_site/apps/api/viewsets/bot/nomination.py | 2 | 
5 files changed, 48 insertions, 4 deletions
| diff --git a/pydis_site/apps/api/admin.py b/pydis_site/apps/api/admin.py index 3ae7f3c5..1caa1d8b 100644 --- a/pydis_site/apps/api/admin.py +++ b/pydis_site/apps/api/admin.py @@ -3,7 +3,8 @@ from django.contrib import admin  from .models import (      BotSetting, DeletedMessage,      DocumentationLink, Infraction, -    MessageDeletionContext, OffTopicChannelName, +    MessageDeletionContext, Nomination, +    OffTopicChannelName,      Role, SnakeFact,      SnakeIdiom, SnakeName,      SpecialSnake, Tag, @@ -16,6 +17,7 @@ admin.site.register(DeletedMessage)  admin.site.register(DocumentationLink)  admin.site.register(Infraction)  admin.site.register(MessageDeletionContext) +admin.site.register(Nomination)  admin.site.register(OffTopicChannelName)  admin.site.register(Role)  admin.site.register(SnakeFact) diff --git a/pydis_site/apps/api/migrations/0036_alter_nominations_api.py b/pydis_site/apps/api/migrations/0036_alter_nominations_api.py new file mode 100644 index 00000000..6b50a2df --- /dev/null +++ b/pydis_site/apps/api/migrations/0036_alter_nominations_api.py @@ -0,0 +1,32 @@ +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + +    dependencies = [ +        ('api', '0035_create_table_log_entry'), +    ] + +    operations = [ +        migrations.AlterField( +            model_name='nomination', +            name='user', +            field=models.OneToOneField(help_text='The nominated user.', on_delete=django.db.models.deletion.CASCADE, related_name='nomination', to='api.User'), +        ), +        migrations.AddField( +            model_name='nomination', +            name='id', +            field=models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'), +        ), +        migrations.AddField( +            model_name='nomination', +            name='unnominate_reason', +            field=models.TextField(default='', help_text='Why the nomination was ended.'), +        ), +        migrations.AddField( +            model_name='nomination', +            name='unwatched_at', +            field=models.DateTimeField(help_text='When the nomination was ended.', null=True), +        ), +    ] diff --git a/pydis_site/apps/api/models/bot/nomination.py b/pydis_site/apps/api/models/bot/nomination.py index 5ebb9759..9a9f31ff 100644 --- a/pydis_site/apps/api/models/bot/nomination.py +++ b/pydis_site/apps/api/models/bot/nomination.py @@ -24,10 +24,18 @@ class Nomination(ModelReprMixin, models.Model):          User,          on_delete=models.CASCADE,          help_text="The nominated user.", -        primary_key=True,          related_name='nomination'      )      inserted_at = models.DateTimeField(          auto_now_add=True,          help_text="The creation date of this nomination."      ) +    unnominate_reason = models.TextField( +        help_text="Why the nomination was ended.", +        default="" +    ) +    unwatched_at = models.DateTimeField( +        auto_now_add=False, +        help_text="When the nomination was ended.", +        null=True +    ) diff --git a/pydis_site/apps/api/serializers.py b/pydis_site/apps/api/serializers.py index 8f045044..54f26466 100644 --- a/pydis_site/apps/api/serializers.py +++ b/pydis_site/apps/api/serializers.py @@ -178,5 +178,7 @@ class NominationSerializer(ModelSerializer):      class Meta:          model = Nomination -        fields = ('active', 'author', 'reason', 'user', 'inserted_at') +        fields = ( +            'id', 'active', 'author', 'reason', 'user', +            'inserted_at', 'unnominate_reason', 'unwatched_at')          depth = 1 diff --git a/pydis_site/apps/api/viewsets/bot/nomination.py b/pydis_site/apps/api/viewsets/bot/nomination.py index 725ae176..9d3246c2 100644 --- a/pydis_site/apps/api/viewsets/bot/nomination.py +++ b/pydis_site/apps/api/viewsets/bot/nomination.py @@ -10,7 +10,7 @@ class NominationViewSet(ModelViewSet):      # TODO: doc me      serializer_class = NominationSerializer      queryset = Nomination.objects.prefetch_related('author', 'user') -    frozen_fields = ('author', 'inserted_at', 'user') +    frozen_fields = ('id', 'author', 'inserted_at', 'user')      def update(self, request, *args, **kwargs):          for field in request.data: | 
