from django.db import migrations def seed_default_spec(apps, schema_editor): ProductSpecification = apps.get_model("compliance", "ProductSpecification") SpecParameter = apps.get_model("compliance", "SpecParameter") spec, created = ProductSpecification.objects.get_or_create( product="Unrefined Shea Butter", version="1.0", defaults={ "status": "approved", "is_current": True, }, ) if created: parameters = [ ("ffa", "%", None, "3.000", "", 1), ("moisture", "%", None, "0.100", "", 2), ("peroxide", "meq O2/kg", None, "10.000", "", 3), ("visual", "grade", None, None, "A,B,C", 4), ] for parameter, unit, min_value, max_value, allowed, sort_order in parameters: SpecParameter.objects.create( spec=spec, parameter=parameter, unit=unit, min_value=min_value, max_value=max_value, allowed_values=allowed, required=True, sort_order=sort_order, ) def remove_default_spec(apps, schema_editor): ProductSpecification = apps.get_model("compliance", "ProductSpecification") ProductSpecification.objects.filter(product="Unrefined Shea Butter", version="1.0").delete() class Migration(migrations.Migration): dependencies = [ ("compliance", "0001_initial"), ] operations = [ migrations.RunPython(seed_default_spec, remove_default_spec), ]