datatracker/ietf/stats/migrations/0004_split_records.py
rpcross 698f031b7f
feat: separate MeetingRegistration rows for each registration type. updates the registration API (#3641)
* Registration API Update

- change MeetingRegistration.reg_type field to hold only one type
- allow multiple MeetingRegistration records per person/meeting
  (one for each reg_type)

* Fix scope claims

* Add meeting 114 to MeetingRegistration migration

* fix: update stats views for MeetingRegistration model use changes

* refactor: remove unused imports
2022-06-16 15:39:34 -05:00

34 lines
890 B
Python

# Generated by Django 2.2.26 on 2022-01-19 16:36
from django.db import migrations
def forward(apps, schema_editor):
'''Split records that have 2 reg_types into two separate records'''
MeetingRegistration = apps.get_model('stats', 'MeetingRegistration')
meetings = [108, 109, 110, 111, 112, 113, 114]
for reg in MeetingRegistration.objects.filter(meeting__number__in=meetings):
reg_types = reg.reg_type.split()
if len(reg_types) == 2:
reg.reg_type = reg_types[0]
reg.save()
# create copy
reg.pk = None
reg.reg_type = reg_types[1]
reg.save()
def reverse(apps, schema_editor):
pass
class Migration(migrations.Migration):
dependencies = [
('stats', '0003_meetingregistration_attended'),
]
operations = [
migrations.RunPython(forward, reverse)
]