Come ottenere tutti i nomi di tabella in un'app Django?Ottieni tutti i nomi di tabella in un'app di Django
Io uso il seguente codice, ma non ottiene le tabelle create da 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
Modificato per includere il meccanismo per ottenere solo i modelli di app installati. Consiglio vivamente di guardare il codice comando syncdb. – cethegeek
Questa risposta elenca tutte le tabelle che il mio django ha mai usato, comprese quelle create da app che erano una volta in INSTALLED_APPS ma non lo sono più. C'è un modo per scoprire quelli che sono attualmente rilevanti? – GreenAsJade
Per riferimenti futuri: https://stackoverflow.com/a/31184258/1937033 Da Django 1.7 in poi, è possibile utilizzare questo codice, ad esempio in admin.py per registrare tutti i modelli: 'dalle app di importazione di django.apps da django.contrib import admin dalla django.contrib.admin.sites importare AlreadyRegistered app_models = apps.get_app_config ('my_app') get_models() per il modello in app_models:. prova: admin.site.register (modello) tranne AlreadyRegistrato: pass' – ThePhi