Как получить все имена таблиц в приложении Django?Получить все имена таблиц в приложении Django
Я использую следующий код, но он не получает таблицы, созданные ManyToManyField
from django.db.models import get_app, get_models
app = get_app(app_name)
for model in get_models(app):
print model._meta.db_table
Отредактировано, чтобы включить механизм для получения только установленных моделей приложений. Я действительно рекомендую посмотреть код команды syncdb. – cethegeek
В этом ответе перечислены все таблицы, которые когда-либо использовали мой django, в том числе созданные приложениями, которые были однажды в INSTALLED_APPS, но больше не существуют. Есть ли способ узнать те, которые в настоящее время актуальны? – GreenAsJade
Для будущих ссылок: https://stackoverflow.com/a/31184258/1937033 С Django 1.7 on вы можете использовать этот код, например, в своем admin.py, чтобы зарегистрировать все модели: 'from django.apps import apps от django.contrib импорта администратора из django.contrib.admin.sites импорта AlreadyRegistered app_models = apps.get_app_config ('my_app') get_models() для модели app_models:. попробовать: admin.site.register (модель) кроме AlreadyRegistered: pass' – ThePhi