Skip to content

Instantly share code, notes, and snippets.

@blended-ideas
Created August 31, 2016 10:22
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save blended-ideas/75ee3633862ebbbfd0227ef82d36af2b to your computer and use it in GitHub Desktop.
Save blended-ideas/75ee3633862ebbbfd0227ef82d36af2b to your computer and use it in GitHub Desktop.
Django Shell to CSV Dump
import csv
def get_field(instance, field):
field_path = field.split('.')
attr = instance
for elem in field_path:
try:
attr = getattr(attr, elem)
except AttributeError:
return None
return attr
# Object to dump to csv
usrs = User.objects.all()
# List of fields to export to csv.
field_list = ['first_name', 'last_name', 'email', 'depatement.name']
headers = ['First Name', 'Last Name', 'Email', 'Department']
writer = csv.writer(open('new_data.csv', 'w'))
# Add CSV header if required
writer.writerow(headers)
# Write data content
for user in usrs:
row = []
for field in field_list:
val = get_field(user, field)
row.append(val)
writer.writerow(row)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment