Agregar permisos a un modelo Django luego del syncdb

Publicado el mié 23 marzo 2011

Hoy tuve que agregar un nuevo permiso a un modelo Django que ya llevaba varias semanas en producción. El problema es que cuando agregamos permisos luego del syncdb, éstos no se reflejan en la base de datos.
Para poder dar solución a esta necesidad debemos hacerlo por medio de la shell de django:

[usuario@maquina django_proj]$ ./manage.py shell

En la consola debemos hacer (en este caso la aplicación a la que se le agregó permisos es 'salas'):

>>> from django.contrib.auth.management import create_permissionsi
>>> from django.db.models import get_app
>>> app = get_app('salas')
>>> create_permissions(app, None, 2)

tags: django, python