diff --git a/InvenTree/common/migrations/0011_inventreeusersetting.py b/InvenTree/common/migrations/0011_auto_20210722_2114.py similarity index 78% rename from InvenTree/common/migrations/0011_inventreeusersetting.py rename to InvenTree/common/migrations/0011_auto_20210722_2114.py index 0bec691041..388117f261 100644 --- a/InvenTree/common/migrations/0011_inventreeusersetting.py +++ b/InvenTree/common/migrations/0011_auto_20210722_2114.py @@ -1,4 +1,4 @@ -# Generated by Django 3.2.4 on 2021-07-19 22:57 +# Generated by Django 3.2.4 on 2021-07-22 21:14 from django.conf import settings from django.db import migrations, models @@ -17,8 +17,8 @@ class Migration(migrations.Migration): name='InvenTreeUserSetting', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('key', models.CharField(help_text='Settings key (must be unique - case insensitive', max_length=50, unique=True)), ('value', models.CharField(blank=True, help_text='Settings value', max_length=200)), + ('key', models.CharField(help_text='Settings key (must be unique - case insensitive', max_length=50)), ('user', models.ForeignKey(blank=True, help_text='User', null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='User')), ], options={ @@ -26,4 +26,8 @@ class Migration(migrations.Migration): 'verbose_name_plural': 'InvenTree User Settings', }, ), + migrations.AddConstraint( + model_name='inventreeusersetting', + constraint=models.UniqueConstraint(fields=('key', 'user'), name='unique key and user'), + ), ] diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index 8907299a44..bdaa73b142 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -745,6 +745,12 @@ class InvenTreeSetting(BaseInvenTreeSetting): verbose_name = "InvenTree Setting" verbose_name_plural = "InvenTree Settings" + key = models.CharField( + max_length=50, + blank=False, + unique=True, + help_text=_('Settings key (must be unique - case insensitive'), + ) class InvenTreeUserSetting(BaseInvenTreeSetting): """ @@ -763,6 +769,16 @@ class InvenTreeUserSetting(BaseInvenTreeSetting): class Meta: verbose_name = "InvenTree User Setting" verbose_name_plural = "InvenTree User Settings" + constraints = [ + models.UniqueConstraint(fields=['key', 'user'], name='unique key and user') + ] + + key = models.CharField( + max_length=50, + blank=False, + unique=False, + help_text=_('Settings key (must be unique - case insensitive'), + ) user = models.ForeignKey( User,