From 2e8827775a942939661458fe1d4f21f7f0e03b6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bodor=20M=C3=A1t=C3=A9?= <bmate711@gmail.com> Date: Wed, 21 Feb 2018 11:49:28 +0100 Subject: [PATCH] change user to Profile --- .../migrations/0008_auto_20180221_1135.py | 24 +++++++++++++++++++ src/homework/models.py | 6 ++--- src/homework/serializers.py | 8 ++++--- src/homework/views.py | 1 - 4 files changed, 32 insertions(+), 7 deletions(-) create mode 100644 src/homework/migrations/0008_auto_20180221_1135.py diff --git a/src/homework/migrations/0008_auto_20180221_1135.py b/src/homework/migrations/0008_auto_20180221_1135.py new file mode 100644 index 0000000..a26dfa2 --- /dev/null +++ b/src/homework/migrations/0008_auto_20180221_1135.py @@ -0,0 +1,24 @@ +# Generated by Django 2.0.1 on 2018-02-21 10:35 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('homework', '0007_merge_20180209_1734'), + ] + + operations = [ + migrations.AlterField( + model_name='solution', + name='created_by', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='student_solution', to='account.Profile'), + ), + migrations.AlterField( + model_name='task', + name='created_by', + field=models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='account.Profile'), + ), + ] diff --git a/src/homework/models.py b/src/homework/models.py index 212748e..5974d6b 100644 --- a/src/homework/models.py +++ b/src/homework/models.py @@ -4,7 +4,7 @@ from django.core.exceptions import ValidationError from django.utils.translation import ugettext_lazy as _ from django.utils import timezone from django.core import validators -#from account.models import Profile +from account.models import Profile # from . import myfields @@ -22,7 +22,7 @@ class Task(models.Model): date = models.DateTimeField(auto_now_add=True, editable=False) deadline = models.DateTimeField(validators=[validate_deadline]) text = models.TextField() - created_by = models.ForeignKey(User, on_delete=models.DO_NOTHING) #Profile + created_by = models.ForeignKey(Profile, on_delete=models.DO_NOTHING) files = models.FileField( validators=[validators.FileExtensionValidator( 'image/png', @@ -38,7 +38,7 @@ class Task(models.Model): class Solution(models.Model): task = models.ForeignKey(Task, related_name='task_solution', on_delete=models.CASCADE) - created_by = models.ForeignKey(User, related_name='student_solution', on_delete=models.CASCADE) # Profile + created_by = models.ForeignKey(Profile, related_name='student_solution', on_delete=models.CASCADE) date = models.DateTimeField(auto_now_add=True, editable=False) ready = models.BooleanField(default=False) accepted = models.BooleanField(default=False) diff --git a/src/homework/serializers.py b/src/homework/serializers.py index 6ca0659..f3a816e 100644 --- a/src/homework/serializers.py +++ b/src/homework/serializers.py @@ -6,20 +6,22 @@ class TaskSerializer(serializers.ModelSerializer): class Meta: model = models.Task read_only_fields = ('created_by', 'date') - extra_kwargs = {'created_by': {'default': serializers.CurrentUserDefault()}} + # extra_kwargs = {'created_by': {'default': serializers.CurrentUserDefault()}} fields = '__all__' class SolutionSerializer(serializers.ModelSerializer): + date = serializers.DateTimeField(read_only=True) + class Meta: model = models.Solution read_only_fields = ('created_by', 'date' 'ready') - extra_kwargs = {'created_by': {'default': serializers.CurrentUserDefault()}} + # extra_kwargs = {'created_by': {'default': serializers.CurrentUserDefault()}} fields = ('task', 'date', 'accepted', 'files', 'created_by') # def validate(self, attrs): # task = attrs['task'] - # date = attrs['date'] + # date = attrs['date'] keyerror # # if task.deadline < date: # raise serializers.ValidationError("You cannot submit homework after the deadline") diff --git a/src/homework/views.py b/src/homework/views.py index 3fbceb0..c6f1f9b 100644 --- a/src/homework/views.py +++ b/src/homework/views.py @@ -26,7 +26,6 @@ class SolutionsViewSet(viewsets.ModelViewSet): def perform_create(self, serializer): serializer.validated_data['accepted'] = False task = serializer.validated_data['task'] - # task = get_object_or_404(models.Task, pk=task_id.id) now = timezone.now() if task.deadline < now: raise Http404("Deadline") -- GitLab