Source code for squaresdb.membership.migrations.0002_member_choices

# -*- coding: utf-8 -*-
from __future__ import unicode_literals, print_function

from django.db import models, migrations

[docs] def create_people(apps, db_alias): User = apps.get_model('auth', 'User') user_objs = [User( username='importer@SYSTEM', email='squaresdb-importer@mit.edu', first_name='importer', last_name='SYSTEM', )] User.objects.using(db_alias).bulk_create(user_objs) people = [ dict(name='placeholder class coordinator', email='squaresdb-placeholder-cc@mit.edu'), ] Person = apps.get_model('membership', 'Person') people_objs = [] for person in people: people_objs.append(Person(name=person['name'], email=person['email'], level_id='none', status_id='system', mit_affil_id='none', fee_cat_id='full')) Person.objects.using(db_alias).bulk_create(people_objs)
[docs] def populate_choices_tables(apps, schema_editor): db_alias = schema_editor.connection.alias data = dict( SquareLevel=[ dict(slug='?', name='Unknown', order=0), dict(slug='none', name='None', order=50), dict(slug='plus', name='Plus', order=150), dict(slug='a1', name='Advanced 1', order=320), dict(slug='a2', name='Advanced 2', order=360), dict(slug='c1', name='Challenge 1', order=420), dict(slug='c2', name='Challenge 2', order=440), dict(slug='c3a', name='Challenge 3A', order=460), dict(slug='c3b', name='Challenge 3B', order=470), dict(slug='c4', name='Challenge 4', order=480), ], PersonStatus=[ dict(slug='grad', name='graduated Tech Squares class', member=True), dict(slug='admit', name='admitted by EC', member=True), dict(slug='member', name='member (unknown method)', member=True), dict(slug='prospective', name='prospective', member=False), dict(slug='guest', name='guest', member=False), dict(slug='system', name='system (internal)', member=False), ], MITAffil=[ dict(slug='undergrad', name='undergrad', student=True), dict(slug='grad', name='grad student', student=True), dict(slug='staff', name='faculty/staff', student=False), dict(slug='alum', name='alum', student=False), dict(slug='community', name='community (spouse, retiree, special student, etc.)', student=False), dict(slug='none', name='none', student=False), ], FeeCategory=[ dict(slug='mit-student', name='MIT student'), dict(slug='student', name='student / financial aid'), dict(slug='full', name='full'), ], ) for key, values in data.items(): model = apps.get_model('membership', key) model.objects.using(db_alias).bulk_create([ model(**kwargs) for kwargs in values ]) create_people(apps, db_alias)
[docs] class Migration(migrations.Migration): dependencies = [ ('membership', '0001_initial'), ('auth', '0006_require_contenttypes_0002'), ] operations = [ migrations.RunPython(populate_choices_tables), ]