fixtures_usuario.py 1016 Bytes
from django.contrib.auth.models import User, Permission
from django.contrib.contenttypes.models import ContentType


def create_user(username, first_name='Admin', last_name='Root', email=None, is_superuser=False, is_staff=False):
    user, created = User.objects.get_or_create(
        username=username,
        email='{}@root.com'.format(username) if email is None else email,
        defaults=dict(
            first_name=first_name,
            last_name=last_name,
            is_superuser=is_superuser,
            is_staff=is_staff,
        )
    )

    user.set_password('password')
    user.save()

    return user


def crear_permiso_usuario(codename, name, app_name, model_name):
    model_ct = ContentType.objects.get(app_label=app_name, model=model_name)
    permission, _ = Permission.objects.get_or_create(codename=codename,
                                                     content_type=model_ct,
                                                     defaults={'name': name})
    return permission