From af4f5902a938f3b7596038dfb98c0e38892ba992 Mon Sep 17 00:00:00 2001
From: Ernesto Rico Schmidt <ernesto@helsinki.at>
Date: Tue, 5 Sep 2023 21:13:08 -0400
Subject: [PATCH] feat: add optional relation between User and Host

---
 program/migrations/0071_host_owners.py | 21 +++++++++++++++++++++
 program/models.py                      |  1 +
 2 files changed, 22 insertions(+)
 create mode 100644 program/migrations/0071_host_owners.py

diff --git a/program/migrations/0071_host_owners.py b/program/migrations/0071_host_owners.py
new file mode 100644
index 00000000..ecdffbb9
--- /dev/null
+++ b/program/migrations/0071_host_owners.py
@@ -0,0 +1,21 @@
+# Generated by Django 4.2.2 on 2023-09-04 21:02
+
+from django.conf import settings
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+    dependencies = [
+        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+        ("program", "0070_image_is_use_explicitly_granted_by_author"),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name="host",
+            name="owners",
+            field=models.ManyToManyField(
+                blank=True, related_name="hosts", to=settings.AUTH_USER_MODEL
+            ),
+        ),
+    ]
diff --git a/program/models.py b/program/models.py
index 9ed90da5..b76fdf9e 100644
--- a/program/models.py
+++ b/program/models.py
@@ -169,6 +169,7 @@ class Host(models.Model):
     image = models.ForeignKey(Image, null=True, on_delete=models.CASCADE, related_name="hosts")
     is_active = models.BooleanField(default=True)
     name = models.CharField(max_length=128)
+    owners = models.ManyToManyField(User, blank=True, related_name="hosts")
     updated_at = models.DateTimeField(auto_now=True, blank=True, null=True)
     updated_by = models.CharField(blank=True, default="", max_length=150)
 
-- 
GitLab