I am using this code in my admin.py
from django.db.models import get_models, get_app
for model in get_models(get_app('myapp')):
admin.site.register(model)
But i get warning that get_models is deprecated
How can i do that in django 1.8
I am using this code in my admin.py
from django.db.models import get_models, get_app
for model in get_models(get_app('myapp')):
admin.site.register(model)
But i get warning that get_models is deprecated
How can i do that in django 1.8
This should work,
from django.apps import apps
apps.get_models()
The get_models
method returns a list of all installed models. You can also pass three keyword arguments include_auto_created
, include_deferred
and include_swapped
.
If you want to get the models for a specific app, you can do something like this.
from django.apps import apps
myapp = apps.get_app_config('myapp')
myapp.models
This will return an OrderedDict instance of the models for that app.
admin.site.register(myapp.models[0])
but i get this 'str' object has no attribute '_meta'
–
Chauffeur OrderedDict
instance. You want to call myapp.models.values()
. –
Polymyxin © 2022 - 2024 — McMap. All rights reserved.