Snippets

Sidnei Pereira export Django's User table into a CSV.

Created by Sidnei Pereira last modified
# coding: utf-8
# how to use:
#     export DJANGO_SETTINGS_MODULE="mydjangoproject.settings"; python import_django_user_csv.py
from __future__ import unicode_literals

from collections import OrderedDict
from django.contrib.auth import get_user_model
import django
import unicodecsv  # not a builtin, needs installation


django.setup()

User = get_user_model()

fields = OrderedDict({
    'username': 'Usuario',
    'email': 'Email',
    'first_name': 'Nome',
    'last_name': 'Sobrenome',
    'is_active': 'Ativo',
    'is_staff': 'Membro da equipe',
    'is_superuser': 'Status de superusuario',
    'date_joined': 'Data de registro',
    'last_login': 'Ultimo login',
})

with open('usuarios.csv', 'w') as f:
    writer = unicodecsv.DictWriter(f, fields.values())
    header_row = dict(zip(fields.values(),fields.values()))
    writer.writerow(header_row)
    for user in User.objects.all():
        values = [getattr(user, k, None) for k in fields.keys()]
        keys = fields.values()
        row = dict(zip(keys, values))
        writer.writerow(row)

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.