[Fixed]-Django: ContentTypes during migration while running tests



This is what ended up working for me. First, import update_contenttypes:

from django.contrib.contenttypes.management import update_contenttypes

Second, list the initial ContentType migration as a dependency:

dependencies = [
    ('contenttypes', '0001_initial'),

Finally, in the forward migration function (invoked via RunPython in the migration operations):

# Ensure ContentType objects exist at this point:
app_config = apps.get_app_config('my_app')
app_config.models_module = app_config.models_module or True


You may need to run the above code for more than one app_config. You can obtain the all the app_config objects using apps.get_app_configs() and iterate.


Leave a comment