from django.contrib.auth.models import Permission, Group
from django.contrib.contenttypes.models import ContentType
content_type = ContentType.objects.get_for_model(YourModel)
my_permission = Permission.objects.create(codename='your_permission',
name='Can access something',
content_type=content_type)
my_group = Group.objects.create(name='My Group')
my_group.permissions = [my_permission]
user.groups.add(my_group)
user.has_perm('app_label.your_permission') # True
Не понимаю только, зачем тут группа, если пермишены можно добавлять напрямую юзеру. Индивидуально.