diff --git a/djangoldp_polls/migrations/0001_initial.py b/djangoldp_polls/migrations/0001_initial.py index a19c6423333b2fc231b58cae339e99b3863c4338..363537ce753fc610aced92cfbcf34cd7671616db 100644 --- a/djangoldp_polls/migrations/0001_initial.py +++ b/djangoldp_polls/migrations/0001_initial.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Generated by Django 1.11.26 on 2020-04-23 10:11 +# Generated by Django 1.11.26 on 2020-05-25 00:56 from __future__ import unicode_literals from django.conf import settings @@ -17,24 +17,6 @@ class Migration(migrations.Migration): ] operations = [ - migrations.CreateModel( - name='Debate', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('urlid', djangoldp.fields.LDPUrlField(blank=True, null=True, unique=True)), - ('created_at', models.DateTimeField(auto_now_add=True)), - ('comment', models.TextField(verbose_name='Long description')), - ('author', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='createdDebated', to=settings.AUTH_USER_MODEL)), - ], - ), - migrations.CreateModel( - name='Option', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('urlid', djangoldp.fields.LDPUrlField(blank=True, null=True, unique=True)), - ('name', models.CharField(max_length=250, verbose_name='Options available for a vote')), - ], - ), migrations.CreateModel( name='Poll', fields=[ @@ -47,8 +29,7 @@ class Migration(migrations.Migration): ('endDate', models.DateField(verbose_name='Date de fin')), ('shortDescription', models.CharField(max_length=250, verbose_name='Short description')), ('longDescription', models.TextField(verbose_name='Long description')), - ('author', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='createdVotes', to=settings.AUTH_USER_MODEL)), - ('debate', models.ManyToManyField(blank=True, related_name='debate', to='djangoldp_polls.Debate')), + ('author', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='createdVotes', to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( @@ -72,15 +53,15 @@ class Migration(migrations.Migration): fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('urlid', djangoldp.fields.LDPUrlField(blank=True, null=True, unique=True)), - ('author', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='author', to=settings.AUTH_USER_MODEL)), - ('chosenOption', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='chosenOption', to='djangoldp_polls.PollOption')), - ('relatedPoll', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='relatedPoll', to='djangoldp_polls.Poll')), + ('chosenOption', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='userVote', to='djangoldp_polls.PollOption')), + ('relatedPoll', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='votes', to='djangoldp_polls.Poll')), + ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='user', to=settings.AUTH_USER_MODEL)), ], ), migrations.AddField( model_name='poll', name='pollOptions', - field=models.ManyToManyField(blank=True, related_name='pollOptions', to='djangoldp_polls.PollOption'), + field=models.ManyToManyField(blank=True, related_name='relatedPollOptions', to='djangoldp_polls.PollOption'), ), migrations.AddField( model_name='poll', diff --git a/djangoldp_polls/models.py b/djangoldp_polls/models.py index 007df40256124fcf1559f357b9aa575ca82daa96..12aef4beabb6250888783ad407e5d90927213fe6 100644 --- a/djangoldp_polls/models.py +++ b/djangoldp_polls/models.py @@ -32,7 +32,7 @@ class PollOption (Model): class Meta : serializer_fields = ['@id','name'] - nested_fields = ['userVote','pollOptions'] + nested_fields = ['userVote','relatedPollOptions'] anonymous_perms = ['view','add'] authenticated_perms = ['inherit','add'] @@ -50,13 +50,13 @@ class Poll (Model): shortDescription = models.CharField(max_length=250,verbose_name="Short description") longDescription = models.TextField(verbose_name="Long description") tags = models.ManyToManyField(Tag, related_name='tags', blank=True) - pollOptions = models.ManyToManyField(PollOption, related_name='pollOptions', blank=True) + pollOptions = models.ManyToManyField(PollOption, related_name='relatedPollOptions', blank=True) #debate = models.ManyToManyField(Debate, related_name='debate', blank=True) #relatedVotes = models.ManyToManyField(Vote, related_name='relatedVotes', blank=True) class Meta : - serializer_fields = ['@id','created_at','votes','author','title','image','hostingOrganisation','endDate','shortDescription','longDescription','tags'] - nested_fields = ['tags','votes'] + serializer_fields = ['@id','created_at','pollOptions','votes','author','title','image','hostingOrganisation','endDate','shortDescription','longDescription','tags'] + nested_fields = ['tags','votes','pollOptions'] anonymous_perms = ['view','add','change'] authenticated_perms = ['inherit','add'] @@ -66,7 +66,7 @@ class Poll (Model): class Vote (Model): - user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='user') + user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='user',null=True,blank=True) chosenOption = models.ForeignKey(PollOption, related_name='userVote') relatedPoll = models.ForeignKey(Poll, related_name='votes') diff --git a/djangoldp_polls/serializers.py b/djangoldp_polls/serializers.py index 299a9cfa73b055ef1a408daf0433fdd166d8b2dc..7bf3e4520d7eaace879efd64f1675603237e3adf 100644 --- a/djangoldp_polls/serializers.py +++ b/djangoldp_polls/serializers.py @@ -8,7 +8,7 @@ class PollOptionSerializer(LDPSerializer): class Meta: model = PollOption - fields = ['urlid', 'total_votes'] + fields = ['urlid','name', 'total_votes'] def get_total_votes(self, obj): votes_queryset = self.context.get("votes_queryset")