Ich habe kürzlich auf Django 1.8 aktualisiert. In früheren Versionen von Django war folgender Import in Ordnung:
from django.contrib.contenttypes.management import update_all_contenttypes
Aber update_all_contenttypes
scheint in Django 1.8 stillgelegt worden zu sein (es war dort in 1.7.7). Ich sehe nichts in der 1.8 Versionshinweise über seine Entfernung ... Weiß jemand, was der moderne Ersatz für diese Funktion ist?
Antworten:
8 für die Antwort № 1Es ist unklar, warum diese Funktion in 1.8 entfernt wurde, aber es scheint, dass der moderne Ersatz dieses Rad nur neu erfinden soll:
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)
1 für die Antwort № 2
Es scheint, dass das Django-Team die update_contenttypes-Funktion ohne eine Erwähnung in den Versionshinweisen entfernt hat, da es sich nicht um eine dokumentierte öffentliche API handelt (wie hier gesagt: https://code.djangoproject.com/ticket/28092)
Jetzt können Sie stattdessen die neue Funktion create_contenttypes verwenden, wie Sie hier sehen können: https://github.com/django/django/commit/6a2af01452966d10155b720f4f5e7b09c7e3e419