I have two applications (ook
and eek
say) and I want to use a foreign key to a model in ook
from a model in eek
. Both are
I have found that it looks like this bug was not fixed yet when you scroll down to the bottom.
Django ValueError: Related model cannot be resolved Bug
I am using 1.11.7, they are talking about 1.9.3.
It worked everything on localhost, but was always failing on Heroku, so I tested all the options/answers above and nothing worked.
Then I have noticed, localhost DB in Admin I had 1 profile created (1 DB record), went to Heroku and DB has 0 records for Profile table so I have added 1, pushed the migration, python manage.py migrate and all it went OK.
That validates that I did not need to change any of those migrations manually that all is working.
Maybe it will help to someone.
migrations
# -*- coding: utf-8 -*-
# Generated by Django 1.11.7 on 2017-11-23 21:26
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('blog', '0005_blog_author'),
]
operations = [
migrations.AlterField(
model_name='blog',
name='author',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
to='core.Profile'),
),
]
In my case, It was the cache and previous migrations that resulted in this error. I removed __pycache__
and migrations folder and then re-run the migrations command and it worked.
Remember, when you'll do python manage.py makemigrations
it won't see any new migrations and will console output no changes detected
. You'll have to do python manage.py makemigrations your_app_name
instead to make things work.
I just got the same error, but referring to a model that was declared as part of the same migration. It turned out that the first migrations.CreateModel(...)
referred to a not yet declared model. I manually moved this below the declaration of the referred model and then everything worked fine.
Try running migrations one by one for every model.
This way you can debug the app
you are facing problem with
python manage.py migrate appmname
Because You have ForeignKey
in operations, You must add a ook
to dependencies
:
dependencies = [
('ook', '__first__'),
('eek', '0002_auto_20151029_1040'),
]
Django migrations have two "magic" values:
__first__
- get module first migration__latest__
- get module latest migrationI encountered this error when trying to use a child model of a base model as a foreign key. It makes sense that it didn't work because there's not an id field on the child model. My fix was to use the parent on the key. Unfortunately this was not immediately intuitive and set me back a couple hours.