diff --git a/openedx/core/djangoapps/oauth_dispatch/migrations/0006_drop_application_id_constraints.py b/openedx/core/djangoapps/oauth_dispatch/migrations/0006_drop_application_id_constraints.py new file mode 100644 index 0000000000..50148cf8b4 --- /dev/null +++ b/openedx/core/djangoapps/oauth_dispatch/migrations/0006_drop_application_id_constraints.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.14 on 2018-07-23 14:58 +from __future__ import unicode_literals + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('oauth_dispatch', '0005_applicationaccess_type'), + ] + + operations = [ + migrations.AlterField( + model_name='applicationaccess', + name='application', + field=models.OneToOneField(db_constraint=False, on_delete=django.db.models.deletion.CASCADE, related_name='access', to=settings.OAUTH2_PROVIDER_APPLICATION_MODEL), + ), + migrations.AlterField( + model_name='applicationorganization', + name='application', + field=models.ForeignKey(db_constraint=False, on_delete=django.db.models.deletion.CASCADE, related_name='organizations', to=settings.OAUTH2_PROVIDER_APPLICATION_MODEL), + ), + migrations.AlterField( + model_name='restrictedapplication', + name='application', + field=models.ForeignKey(db_constraint=False, on_delete=django.db.models.deletion.CASCADE, to=settings.OAUTH2_PROVIDER_APPLICATION_MODEL), + ), + ] diff --git a/openedx/core/djangoapps/oauth_dispatch/models.py b/openedx/core/djangoapps/oauth_dispatch/models.py index 0c4285e3da..2537636681 100644 --- a/openedx/core/djangoapps/oauth_dispatch/models.py +++ b/openedx/core/djangoapps/oauth_dispatch/models.py @@ -24,7 +24,9 @@ class RestrictedApplication(models.Model): so that they cannot be used to call into APIs. """ - application = models.ForeignKey(oauth2_settings.APPLICATION_MODEL, null=False, on_delete=models.CASCADE) + application = models.ForeignKey( + oauth2_settings.APPLICATION_MODEL, db_constraint=False, null=False, on_delete=models.CASCADE + ) class Meta: app_label = 'oauth_dispatch' @@ -58,7 +60,7 @@ class ApplicationAccess(models.Model): Specifies access control information for the associated Application. """ - application = models.OneToOneField(oauth2_settings.APPLICATION_MODEL, related_name='access') + application = models.OneToOneField(oauth2_settings.APPLICATION_MODEL, db_constraint=False, related_name='access') scopes = ListCharField( base_field=models.CharField(max_length=32), size=25, @@ -95,7 +97,9 @@ class ApplicationOrganization(models.Model): (RELATION_TYPE_CONTENT_ORG, _('Content Provider')), ) - application = models.ForeignKey(oauth2_settings.APPLICATION_MODEL, related_name='organizations') + application = models.ForeignKey( + oauth2_settings.APPLICATION_MODEL, db_constraint=False, related_name='organizations' + ) organization = models.ForeignKey(Organization) relation_type = models.CharField( max_length=32,