From d8429f95a4cbec1d4dc69678089e6c994f26f1a8 Mon Sep 17 00:00:00 2001 From: Mohammed Rabil <63334479+rabilrbl@users.noreply.github.com> Date: Sun, 19 Jun 2022 18:20:09 +0530 Subject: [PATCH] Make the meta field optional in Asset & Bed Tables (#769) * Make the meta field optional in asset * Make the meta field optional in bed tables * Remove default in optional meta fields * Update migrations * Remove null and keep defaults * Update migrations * Fix migrations --- .../migrations/0296_auto_20220527_2324.py | 43 +++++++++++++++++++ care/facility/models/asset.py | 2 +- care/facility/models/bed.py | 6 +-- 3 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 care/facility/migrations/0296_auto_20220527_2324.py diff --git a/care/facility/migrations/0296_auto_20220527_2324.py b/care/facility/migrations/0296_auto_20220527_2324.py new file mode 100644 index 0000000000..7321e9b697 --- /dev/null +++ b/care/facility/migrations/0296_auto_20220527_2324.py @@ -0,0 +1,43 @@ +# Generated by Django 2.2.11 on 2022-05-27 17:54 + +import django.contrib.postgres.fields.jsonb +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('facility', '0295_merge_20220527_1430'), + ] + + operations = [ + migrations.AlterModelOptions( + name='facilitycapacity', + options={'verbose_name_plural': 'Facility Capacities'}, + ), + migrations.AlterField( + model_name='asset', + name='asset_class', + field=models.IntegerField(blank=True, choices=[('ONVIF', 'onvif'), ('HL7MONITOR', 'hl7monitor')], default=None, null=True), + ), + migrations.AlterField( + model_name='asset', + name='meta', + field=django.contrib.postgres.fields.jsonb.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='assetbed', + name='meta', + field=django.contrib.postgres.fields.jsonb.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='bed', + name='meta', + field=django.contrib.postgres.fields.jsonb.JSONField(blank=True, default=dict), + ), + migrations.AlterField( + model_name='consultationbed', + name='meta', + field=django.contrib.postgres.fields.jsonb.JSONField(blank=True, default=dict), + ), + ] diff --git a/care/facility/models/asset.py b/care/facility/models/asset.py index 011cee55d2..d7cf254c8d 100644 --- a/care/facility/models/asset.py +++ b/care/facility/models/asset.py @@ -69,7 +69,7 @@ class Status(enum.Enum): not_working_reason = models.CharField(max_length=1024, blank=True, null=True) serial_number = models.CharField(max_length=1024, blank=True, null=True) warranty_details = models.TextField(null=True, blank=True, default="") - meta = JSONField(default=dict) + meta = JSONField(default=dict, blank=True) # Vendor Details vendor_name = models.CharField(max_length=1024, blank=True, null=True) support_name = models.CharField(max_length=1024, blank=True, null=True) diff --git a/care/facility/models/bed.py b/care/facility/models/bed.py index a791079148..03b4681d32 100644 --- a/care/facility/models/bed.py +++ b/care/facility/models/bed.py @@ -31,7 +31,7 @@ class BedType(enum.Enum): description = models.TextField(default="", blank=True) bed_type = models.IntegerField(choices=BedTypeChoices, default=BedType.REGULAR.value) facility = models.ForeignKey(Facility, on_delete=models.PROTECT, null=False, blank=False) # Deprecated - meta = JSONField(default=dict) + meta = JSONField(default=dict, blank=True) assets = models.ManyToManyField(Asset, through="AssetBed") location = models.ForeignKey(AssetLocation, on_delete=models.PROTECT, null=False, blank=False) @@ -42,7 +42,7 @@ def __str__(self): class AssetBed(BaseModel): asset = models.ForeignKey(Asset, on_delete=models.PROTECT, null=False, blank=False) bed = models.ForeignKey(Bed, on_delete=models.PROTECT, null=False, blank=False) - meta = JSONField(default=dict) + meta = JSONField(default=dict, blank=True) def __str__(self): return f"{self.asset.name} - {self.bed.name}" @@ -53,4 +53,4 @@ class ConsultationBed(BaseModel): bed = models.ForeignKey(Bed, on_delete=models.PROTECT, null=False, blank=False) start_date = models.DateTimeField(null=False, blank=False) end_date = models.DateTimeField(null=True, blank=True, default=None) - meta = JSONField(default=dict) + meta = JSONField(default=dict, blank=True)