diff --git a/src/homework/migrations/0004_auto_20190114_1641.py b/src/homework/migrations/0004_auto_20190114_1641.py
new file mode 100644
index 0000000000000000000000000000000000000000..a8c1133e37545849ab15d91ed7b97957d4dcb334
--- /dev/null
+++ b/src/homework/migrations/0004_auto_20190114_1641.py
@@ -0,0 +1,20 @@
+# Generated by Django 2.0.1 on 2019-01-14 15:41
+
+import common.middleware
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('homework', '0003_auto_20190113_1239'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='solution',
+            name='created_by',
+            field=models.ForeignKey(default=common.middleware.CurrentUserMiddleware.get_current_user_profile, on_delete=django.db.models.deletion.DO_NOTHING, related_name='solution', to='account.Profile'),
+        ),
+    ]
diff --git a/src/homework/migrations/0005_auto_20190114_1658.py b/src/homework/migrations/0005_auto_20190114_1658.py
new file mode 100644
index 0000000000000000000000000000000000000000..720bbc23297729f88824b0fe99a5385a3ad55ac7
--- /dev/null
+++ b/src/homework/migrations/0005_auto_20190114_1658.py
@@ -0,0 +1,25 @@
+# Generated by Django 2.0.1 on 2019-01-14 15:58
+
+import common.middleware
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('homework', '0004_auto_20190114_1641'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='solution',
+            name='task',
+            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='solutions', to='homework.Task'),
+        ),
+        migrations.AlterField(
+            model_name='task',
+            name='created_by',
+            field=models.ForeignKey(default=common.middleware.CurrentUserMiddleware.get_current_user_profile, on_delete=django.db.models.deletion.DO_NOTHING, related_name='tasks', to='account.Profile'),
+        ),
+    ]
diff --git a/src/homework/models.py b/src/homework/models.py
index 0e5ec4eecf89840db4446de752faf0c8b4cbb66f..2f3e785df82722652e7d850e4db7e8cfdd38f0df 100755
--- a/src/homework/models.py
+++ b/src/homework/models.py
@@ -1,13 +1,15 @@
 from django.db import models
-from django.core import validators
-
-from common.validators import FileSizeValidator
+from common.middleware import CurrentUserMiddleware
 from account.models import Profile
 
 
-
 class Task(models.Model):
-    created_by = models.ForeignKey(Profile, on_delete=models.DO_NOTHING)
+    created_by = models.ForeignKey(
+        Profile,
+        on_delete=models.DO_NOTHING,
+        related_name='tasks',
+        default=CurrentUserMiddleware.get_current_user_profile,
+    )
     created_at = models.DateTimeField(auto_now_add=True, editable=False)
     updated_at = models.DateTimeField(auto_now=True, editable=False)
     title = models.CharField(max_length=150)
@@ -19,8 +21,13 @@ class Task(models.Model):
 
 
 class Solution(models.Model):
-    task = models.ForeignKey(Task, related_name='solution', on_delete=models.CASCADE)
-    created_by = models.ForeignKey(Profile, related_name='solution', on_delete=models.DO_NOTHING)
+    task = models.ForeignKey(Task, related_name='solutions', on_delete=models.CASCADE)
+    created_by = models.ForeignKey(
+        Profile,
+        related_name='solution',
+        on_delete=models.DO_NOTHING,
+        default=CurrentUserMiddleware.get_current_user_profile,
+    )
     created_at = models.DateTimeField(auto_now_add=True, editable=False)
     updated_at = models.DateTimeField(auto_now=True, editable=False)
     note = models.TextField()
diff --git a/src/homework/serializers.py b/src/homework/serializers.py
index d2615a1ee9c8fb3a6f0a39df82b85991f0899d17..595260de6015813f1814317efe9f08b0438e996b 100755
--- a/src/homework/serializers.py
+++ b/src/homework/serializers.py
@@ -6,8 +6,6 @@ from . import models
 
 
 class TaskSerializer(serializers.ModelSerializer):
-    created_by = serializers.HiddenField(default=CurrentUserProfileDefault())
-
     class Meta:
         model = models.Task
         read_only_fields = ('created_by', 'created_at', 'updated_at')
@@ -20,10 +18,6 @@ class TaskSerializer(serializers.ModelSerializer):
 
 
 class SolutionSerializer(serializers.ModelSerializer):
-    created_at = serializers.DateTimeField(read_only=True)
-    updated_at = serializers.DateTimeField(read_only=True)
-    created_by = serializers.HiddenField(default=CurrentUserProfileDefault())
-
     class Meta:
         model = models.Solution
         read_only_fields = ('created_by', 'created_at', 'updated_at', 'ready', 'files')