diff --git a/admin_interface/context_processor.py b/admin_interface/context_processor.py index ba772d4..cf832cb 100644 --- a/admin_interface/context_processor.py +++ b/admin_interface/context_processor.py @@ -10,8 +10,8 @@ def get_active_theme(request): obj = objs_manager.first() if obj: obj.set_active() - else: - obj = objs_manager.create() + # else: + # obj = objs_manager.create() elif objs_active_count == 1: obj = objs_active_ls[0] diff --git a/admin_interface/migrations/0029_auto_20221025_1559.py b/admin_interface/migrations/0029_auto_20221025_1559.py new file mode 100644 index 0000000..799329b --- /dev/null +++ b/admin_interface/migrations/0029_auto_20221025_1559.py @@ -0,0 +1,30 @@ +# Generated by Django 4.0.3 on 2022-10-25 13:59 + +from django.db import migrations +from django.db import transaction, connection + +def forward(apps, schema_editor): + Theme = apps.get_model("admin_interface", "Theme") + if len(Theme.objects.all()) == 1 and Theme.objects.first().name == 'Django': + with transaction.atomic(): + cursor = connection.cursor() + cursor.execute("""truncate table "admin_interface_theme" restart identity;""") + +def reverse(apps, schema_editor): + pass + + +class Migration(migrations.Migration): + + dependencies = [ + ('admin_interface', '0028_alter_theme_demo'), + ] + + operations = [ + migrations.RunPython(forward, reverse), + migrations.AlterField( + model_name='usertheme', + name='user', + field=models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/admin_interface/models.py b/admin_interface/models.py index 549d0ab..51cc3e8 100644 --- a/admin_interface/models.py +++ b/admin_interface/models.py @@ -20,8 +20,8 @@ class UserTheme(models.Model): verbose_name = 'Users theme' verbose_name_plural = 'Users themes' - user = models.ForeignKey( - 'auth.User', on_delete=models.CASCADE, null=True, unique=True) + user = models.OneToOneField( + 'auth.User', on_delete=models.CASCADE, null=True) theme = models.ForeignKey('Theme', on_delete=models.CASCADE) @@ -65,8 +65,8 @@ class Theme(models.Model): obj = objs_manager.all().first() if obj: obj.set_active() - else: - obj = objs_manager.create() + # else: + # obj = objs_manager.create() elif objs_active_count == 1: obj = objs_active_ls[0]