I am trying to use admin.LogEntry objects during a datamigration on Django 1.7
The \'django.contrib.admin\'
app is listed on INSTALLED_APPS
Try looking further up your stack trace too. I got this error due to a misconfigured logger but I had to look further up the trace to find this issue!
In my case I had misnamed my environment variable DJANGO_LOG_LEVL
as DEGUB
instead of DEBUG
(note the misspelling) and that caused the error.
Had troubles with this too, all I did was upgrade pip and it seemed to fix itself tried installing other dependencies but turned out I already had them all so if you are in the same position try upgrading your pip!
I also had this same error of "no installed app label 'admin' ". I was able to solve it by running the pip install sqlparse command
I got the error when I used 'required=False' in my model like this: slug = models.SlugField(required=False)
I changed it to: slug = models.SlugField(blank=True,null=True) and the error disappeared
The Django doc makes it clear:
When writing a RunPython function that uses models from apps other than the one in which the migration is located, the migration’s dependencies attribute should include the latest migration of each app that is involved, otherwise you may get an error similar to: LookupError: No installed app with label 'myappname' when you try to retrieve the model in the RunPython function using apps.get_model().
Code example:
# Imports are omitted for the sake of brevity
def move_m1(apps, schema_editor):
LogEntry = apps.get('admin.logentry')
# Other business logic here ...
class Migration(migrations.Migration):
dependencies = [
('app1', '0001_initial'),
# Below is the manually added dependency, so as to retrieve models
# of 'django.contrib.admin' app with apps.get_model() in move_m1().
#
# Currently this is for Django 1.11. You need to look into
# 'django/contrib/admin/migrations' directory to find out which is
# the latest migration for other version of Django.
('admin', '0002_logentry_remove_auto_add'),
]
operations = [
migrations.RunPython(move_m1),
]
I don't know the exact cause for this. Will have to dig into the source code. but for now a workaround is add
('admin', 'name_of_last_migration_in_admin_app')
to the dependencies and the migrations shall go alright.