Login

Update ContentTypes and Permissions without syncdb

Author:
paltman
Posted:
April 11, 2008
Language:
Python
Version:
.96
Score:
5 (after 5 ratings)

See blog post

You can put this script in the root of your project and run after deploying updates in your production environment.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
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 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)

More like this

  1. Template tag - list punctuation for a list of items by shapiromatron 11 months, 2 weeks ago
  2. JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 11 months, 3 weeks ago
  3. Serializer factory with Django Rest Framework by julio 1 year, 6 months ago
  4. Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 7 months ago
  5. Help text hyperlinks by sa2812 1 year, 7 months ago

Comments

montrubio (on June 18, 2010):

where is ? create_all_contenttypes I'm using django 1.1 and ther is only update_contenttypes and update_all_contenttypes on management.py

#

anentropic (on July 6, 2017):

it's called update_contenttypes in Django 1.4

#

anentropic (on July 6, 2017):

or update_all_contentypes

#

Please login first before commenting.