Added django.contrib.contenttypes.management.create_all_contenttypes() function for convenience

git-svn-id: http://code.djangoproject.com/svn/django/trunk@4183 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Adrian Holovaty 2006-12-07 16:19:37 +00:00
parent c50d333c23
commit 5f36d9d562
1 changed files with 9 additions and 2 deletions

View File

@ -3,9 +3,9 @@ Creates content types for all installed models.
""" """
from django.dispatch import dispatcher from django.dispatch import dispatcher
from django.db.models import get_models, signals from django.db.models import get_apps, get_models, signals
def create_contenttypes(app, created_models, verbosity): def create_contenttypes(app, created_models, verbosity=2):
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
app_models = get_models(app) app_models = get_models(app)
if not app_models: if not app_models:
@ -22,4 +22,11 @@ def create_contenttypes(app, created_models, verbosity):
if verbosity >= 2: if verbosity >= 2:
print "Adding content type '%s | %s'" % (ct.app_label, ct.model) print "Adding content type '%s | %s'" % (ct.app_label, ct.model)
def create_all_contenttypes(verbosity=2):
for app in get_apps():
create_contenttypes(app, None, verbosity)
dispatcher.connect(create_contenttypes, signal=signals.post_syncdb) dispatcher.connect(create_contenttypes, signal=signals.post_syncdb)
if __name__ == "__main__":
create_all_contenttypes()