Improved postmigration data seeding for equipments

This commit is contained in:
Keannu Bernasol 2023-12-26 19:47:51 +08:00
parent 9443631102
commit 6d25157c5f

View file

@ -43,15 +43,41 @@ class EquipmentInstance(models.Model):
@receiver(post_migrate) @receiver(post_migrate)
def create_superuser(sender, **kwargs): def create_superuser(sender, **kwargs):
if sender.name == 'equipments': if sender.name == 'equipments':
EQUIPMENT, CREATED = Equipment.objects.get_or_create( equipment_data = [
name="Pyrex Beaker", description="", category="Glassware") {
EQUIPMENT_INSTANCE, CREATED = EquipmentInstance.objects.get_or_create( 'name': 'Pyrex Beaker',
equipment=EQUIPMENT, status="Available", remarks="First beaker of equipment tracker!") 'description': '',
EQUIPMENT, CREATED = Equipment.objects.get_or_create( 'category': 'Glassware',
name="Bunsen Burner", description="", category="Miscellaneous") 'remarks': 'First beaker of equipment tracker!'
EQUIPMENT_INSTANCE, CREATED = EquipmentInstance.objects.get_or_create( },
equipment=EQUIPMENT, status="Available", remarks="First bunsen burner of equipment tracker!") {
EQUIPMENT, CREATED = Equipment.objects.get_or_create( 'name': 'Bunsen Burner',
name="Microscope", description="", category="Miscellaneous") 'description': '',
EQUIPMENT_INSTANCE, CREATED = EquipmentInstance.objects.get_or_create( 'category': 'Miscellaneous',
equipment=EQUIPMENT, status="Available", remarks="First microscope of equipment tracker!") 'remarks': 'First bunsen burner of equipment tracker!'
},
{
'name': 'Microscope',
'description': '',
'category': 'Miscellaneous',
'remarks': 'First microscope of equipment tracker!'
}
]
for data in equipment_data:
EQUIPMENT, CREATED = Equipment.objects.get_or_create(
name=data['name'],
description=data['description'],
category=data['category']
)
if (CREATED):
print('Created Equipment: ' + data['name'])
# Generate 3 equipment instances per SKU
for x in range(3):
EQUIPMENT_INSTANCE = EquipmentInstance.objects.create(
equipment=EQUIPMENT,
status='Available',
remarks=data['remarks']
)
print('Created Equipment Instances: ' +
EQUIPMENT_INSTANCE.equipment.name)