Как я могу получить все модели в django 1.8

Я использую этот код в своем admin.py

from django.db.models import get_models, get_app

for model in get_models(get_app('myapp')):
    admin.site.register(model)

Но я получаю предупреждение, что get_models is deprecated

Как я могу это сделать в django 1.8

Ответы

Ответ 1

Это должно работать,

from django.apps import apps
apps.get_models()

Метод get_models возвращает список всех установленных моделей. Вы также можете передать три аргумента ключевых слов include_auto_created, include_deferred и include_swapped.

Если вы хотите получить модели для определенного приложения, вы можете сделать что-то вроде этого.

from django.apps import apps
myapp = apps.get_app_config('myapp')
myapp.models

Это вернет экземпляр OrderedDict моделей для этого приложения.