Skip to content

Commit a4c8e65

Browse files
committed
Create MolnixTagGroup – a MolnixTag to 0/many MolnixTagGroups
1 parent 2d835b7 commit a4c8e65

File tree

2 files changed

+56
-0
lines changed

2 files changed

+56
-0
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Generated by Django 3.2.20 on 2023-07-27 08:53
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
('deployments', '0082_personnel_surge_alert'),
10+
]
11+
12+
operations = [
13+
migrations.CreateModel(
14+
name='MolnixTagGroup',
15+
fields=[
16+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
17+
('molnix_id', models.IntegerField()),
18+
('name', models.CharField(max_length=255, verbose_name='name')),
19+
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')),
20+
('updated_at', models.DateTimeField(auto_now=True, verbose_name='updated at')),
21+
('is_deprecated', models.BooleanField(default=False, help_text='Is this a deprecated group?')),
22+
],
23+
options={
24+
'verbose_name': 'Molnix Tag Group',
25+
'verbose_name_plural': 'Molnix Tag Groups',
26+
},
27+
),
28+
migrations.AddField(
29+
model_name='molnixtag',
30+
name='groups',
31+
field=models.ManyToManyField(blank=True, related_name='groups', to='deployments.MolnixTagGroup'),
32+
),
33+
]

deployments/models.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,24 @@ def __str__(self):
157157
return "%s, %s" % (self.country_deployed_to, self.region_deployed_to)
158158

159159

160+
@reversion.register()
161+
class MolnixTagGroup(models.Model):
162+
molnix_id = models.IntegerField()
163+
name = models.CharField(max_length=255, verbose_name=_("name"))
164+
created_at = models.DateTimeField(verbose_name=_("created at"), auto_now_add=True)
165+
updated_at = models.DateTimeField(verbose_name=_("updated at"), auto_now=True)
166+
is_deprecated = models.BooleanField(default=False, help_text=_("Is this a deprecated group?"))
167+
168+
# Example input: {"id":5,"name":"Sector","created_at":"2020-07-13T08:44:50.000000Z","updated_at":"2020-07-13T08:44:50.000000Z"}
169+
170+
class Meta:
171+
verbose_name = _("Molnix Tag Group")
172+
verbose_name_plural = _("Molnix Tag Groups")
173+
174+
def __str__(self):
175+
return self.name
176+
177+
160178
@reversion.register()
161179
class MolnixTag(models.Model):
162180
"""
@@ -170,6 +188,11 @@ class MolnixTag(models.Model):
170188
color = models.CharField(max_length=6)
171189
tag_type = models.CharField(max_length=127)
172190
tag_category = models.CharField(null=True, max_length=127)
191+
groups = models.ManyToManyField(
192+
MolnixTagGroup,
193+
related_name="groups",
194+
blank=True,
195+
)
173196

174197
def __str__(self):
175198
return self.name

0 commit comments

Comments
 (0)