Update ContentTypes and Permissions without syncdb

1
2
3
4
5
6
7
8
9
# Add any missing content types
from django.contrib.contenttypes.management import create_all_contenttypes
create_all_contenttypes()

# Add any missing permissions
from django.contrib.auth.management import create_permissions
from django.db.models import get_apps
for app in get_apps():
   create_permissions(app, None, 2)

Comments

akaihola (on March 27, 2009):

Here's the complete script from Patrick's blog post updated to work with Django 1.0+. A handy way to run it is the runscript command from django-extensions.

#!/usr/bin/env python

from django.core.management import setup_environ
try:
    import settings
except ImportError:
    import sys
    sys.stderr.write("Couldn't find the settings.py module.")
    sys.exit(1)

setup_environ(settings)

# Add any missing content types
from django.contrib.contenttypes.management \
    import update_all_contenttypes
update_all_contenttypes()

# Add any missing permissions
from django.contrib.auth.management import create_permissions
from django.db.models import get_apps
for app in get_apps():
    create_permissions(app, None, 2)

#

akaihola (on March 27, 2009):

I split this into two management commands and proposed them for inclusion in django-extensions.

#

(Forgotten your password?)

You may use Markdown syntax here, but raw HTML will be removed.