ImportError: cannot import name update_all_contenttypes

前端 未结 2 1090
执念已碎
执念已碎 2020-12-20 17:20

I upgraded recently to Django 1.8. In previous versions of Django, the following import was fine:

from django.contrib.contenttypes.management import update_         


        
相关标签:
2条回答
  • 2020-12-20 17:46

    It's unclear why that function was removed in 1.8, but it appears that the modern replacement is to just re-invent that wheel:

    from django.apps import apps
    from django.contrib.contenttypes.management import update_contenttypes
    
    def update_all_contenttypes(**kwargs):
        for app_config in apps.get_app_configs():
            update_contenttypes(app_config, **kwargs)
    
    0 讨论(0)
  • 2020-12-20 17:54

    It seems django team has removed the update_contenttypes function without a mention in the release notes because isn't a documented, public API. (as the said here: https://code.djangoproject.com/ticket/28092)

    Now you can use instead the new function create_contenttypes, as you can see here: https://github.com/django/django/commit/6a2af01452966d10155b720f4f5e7b09c7e3e419

    0 讨论(0)
提交回复
热议问题