Я пытаюсь добавить новые миграции, следуя этому учебнику
Я добавил новое разрешение внутри Meta
в поле permissions
. Затем я создал миграцию и попытался изменить эту миграцию, чтобы обновить групповые разрешения на месте. Но получил DoesNotExist
в RunPython
операции.
from django.db import migrations
def assign_new_permission(apps, *args):
Permission = apps.get_model('auth.Permission')
Group = apps.get_model('auth.Group')
# __fake__.DoesNotExist: Permission matching query does not exist.
new_permission = Permission.objects.get(
codename='my_new_permissoin_code')
admins = Group.objects.get(name='Group name')
admins.permissions.add(new_permission)
class Migration(migrations.Migration):
dependencies = [
('my_app', '0066_some_migratoin'),
]
operations = [
migrations.AlterModelOptions(
name='my_model',
options={'permissions': (('my_new_permissoin_code',
'Permission name'),)},
),
migrations.RunPython(assign_new_permission)
]