Opened 8 years ago
Last modified 8 years ago
#26777 closed Bug
Cannot add foreign key constraint when migrating manytomany field — at Initial Version
Reported by: | Ville Säävuori | Owned by: | nobody |
---|---|---|---|
Component: | Migrations | Version: | 1.9 |
Severity: | Normal | Keywords: | |
Cc: | Simon Charette | Triage Stage: | Unreviewed |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
I have a model that looks like
class LiveEvent(models.Model): id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) ... attendees = models.ManyToManyField(User, blank=True, related_name="events_attended") ... notify_subscriptions = models.ManyToManyField(User, blank=True, related_name="events_subscribed")
when trying to add and migrate notify_subscriptions field I get an django.db.utils.IntegrityError: (1215, 'Cannot add foreign key constraint')
error. When adding
'OPTIONS': { "init_command": "SET foreign_key_checks = 0;", },
to database settings , the error becames:
django.db.utils.OperationalError: (1825, "Failed to add the foreign key constraint on table 'levan_liveevent_notify_subscriptions'. Incorrect options in FOREIGN KEY constraint 'slipmat/levan_liveevent_noti_liveevent_id_a4871abc_fk_levan_liveevent_id'")
the migration file looks like:
operations = [ migrations.AddField( model_name='liveevent', name='notify_subscriptions', field=models.ManyToManyField(blank=True, related_name='events_subscribed', to=settings.AUTH_USER_MODEL), ), ]
I'm using MySQL version 5.6.27 and Django version 1.9.7