diff --git a/common/djangoapps/course_modes/migrations/0011_change_regex_for_comma_separated_ints.py b/common/djangoapps/course_modes/migrations/0011_change_regex_for_comma_separated_ints.py
new file mode 100644
index 0000000000000000000000000000000000000000..73f1046eee97dc50f2aa773058a5c9001be2c5df
--- /dev/null
+++ b/common/djangoapps/course_modes/migrations/0011_change_regex_for_comma_separated_ints.py
@@ -0,0 +1,27 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.8 on 2018-01-30 17:38
+from __future__ import unicode_literals
+
+import django.core.validators
+from django.db import migrations, models
+import re
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('course_modes', '0010_archived_suggested_prices_to_charfield'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='coursemode',
+            name='suggested_prices',
+            field=models.CharField(blank=True, default=b'', max_length=255, validators=[django.core.validators.RegexValidator(re.compile('^\d+(?:\,\d+)*\Z'), code='invalid', message='Enter only digits separated by commas.')]),
+        ),
+        migrations.AlterField(
+            model_name='coursemodesarchive',
+            name='suggested_prices',
+            field=models.CharField(blank=True, default=b'', max_length=255, validators=[django.core.validators.RegexValidator(re.compile('^\d+(?:\,\d+)*\Z'), code='invalid', message='Enter only digits separated by commas.')]),
+        ),
+    ]
diff --git a/common/djangoapps/third_party_auth/migrations/0017_remove_icon_class_image_secondary_fields.py b/common/djangoapps/third_party_auth/migrations/0017_remove_icon_class_image_secondary_fields.py
new file mode 100644
index 0000000000000000000000000000000000000000..1580a9e9fa04393f6bcb5177c4ce51798f2d5c91
--- /dev/null
+++ b/common/djangoapps/third_party_auth/migrations/0017_remove_icon_class_image_secondary_fields.py
@@ -0,0 +1,27 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.8 on 2018-01-30 17:38
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('third_party_auth', '0016_auto_20180130_0938'),
+    ]
+
+    operations = [
+        migrations.RemoveField(
+            model_name='ltiproviderconfig',
+            name='icon_class',
+        ),
+        migrations.RemoveField(
+            model_name='ltiproviderconfig',
+            name='icon_image',
+        ),
+        migrations.RemoveField(
+            model_name='ltiproviderconfig',
+            name='secondary',
+        ),
+    ]
diff --git a/lms/djangoapps/certificates/migrations/0014_change_eligible_certs_manager.py b/lms/djangoapps/certificates/migrations/0014_change_eligible_certs_manager.py
new file mode 100644
index 0000000000000000000000000000000000000000..a0474029892f8bd1be6952c5477cd581425b2133
--- /dev/null
+++ b/lms/djangoapps/certificates/migrations/0014_change_eligible_certs_manager.py
@@ -0,0 +1,22 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.8 on 2018-01-30 17:38
+from __future__ import unicode_literals
+
+from django.db import migrations
+import django.db.models.manager
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('certificates', '0013_remove_certificategenerationcoursesetting_enabled'),
+    ]
+
+    operations = [
+        migrations.AlterModelManagers(
+            name='generatedcertificate',
+            managers=[
+                ('eligible_certificates', django.db.models.manager.Manager()),
+            ],
+        ),
+    ]
diff --git a/requirements/edx/django.txt b/requirements/edx/django.txt
index a2f9feb644758babb0d2a89cfdf96e63821f7067..f72c782e4d27fc7e6fb5cd3308d3b7d2fe75030f 100644
--- a/requirements/edx/django.txt
+++ b/requirements/edx/django.txt
@@ -1 +1 @@
-Django==1.8.19
+Django==1.11.11