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)