Opened 9 years ago
Last modified 9 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