Django возвращает "Вам не разрешено выполнять это действие." при создании новой записи

У меня есть приложение, в котором я хочу запускать скрипты. Эти скрипты хранятся в базе данных. Вот как я делаю все это, используя Django 5.0.1 :

Прежде всего, это мой файл настроек :

#...

INSTALLED_APPS = [
    # Django apps
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    # My apps
    'personal',
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

#...

Это мой файл урлов :

from django.contrib import admin

urlpatterns = [
    path('admin/', admin.site.urls),
    #...
]

Это мой файл с моделями :

from django.db import models
from django.core.exceptions import ValidationError
from django.conf import settings

from os.path import join

class Product(models.Model):
    name = models.CharField(max_length=50, null=False, blank=False, unique=True)

    def __str__(self):
        return self.name

class Type(models.Model):
    short_name = models.CharField(max_length=3, null=False, blank=False, unique=True)
    complete_name = models.CharField(max_length=30, null=False, blank=False)

    def __str__(self):
        return self.complete_name

class Version(models.Model):
    product = models.ForeignKey(Product, on_delete=models.CASCADE)
    version = models.CharField(max_length=30, null=False, blank=False)

    constraints = [
        models.UniqueConstraint(fields=['product', 'version'], name='unique_product_version'),
    ]

    def __str__(self):
        return f"{self.product} {self.version}"
        
class TypeTestRelation(models.Model):
    type = models.ForeignKey(Type, null=False, blank=False, related_name='attributed_tests', on_delete=models.CASCADE)
    test = models.ForeignKey(Test, null=False, blank=False, on_delete=models.CASCADE)

    class Meta:
        unique_together = ['type', 'test']

class Test(models.Model):
    name = models.CharField(max_length=50, null=False, blank=False, unique=True)
    file = models.FileField(upload_to=join(join(settings.BASE_DIR, "static"), "scripts"), null=True, blank=False)  # Add the file field
    test_result = models.FileField(upload_to=join(join(settings.BASE_DIR, "static"), "test_results"), null=True, blank=True, editable=False)
    versions = models.ManyToManyField(Version, through='TestVersionRelation')
    types = models.ManyToManyField(Type, through='TypeTestRelation')

    def __str__(self):
        return self.name

Это файл администратора :

# ----------------- Test form -----------------
from typing import Any
from django import forms
from django.contrib import admin
from .models import Product, Type, Version, Test, TestVersionRelation, TypeTestRelation

class TypeTestRelationInline(admin.TabularInline):
    model = TypeTestRelation
    extra = 1

class TestVersionRelationInline(admin.TabularInline):
    model = TestVersionRelation
    extra = 1

class TestAdminForm(forms.ModelForm):
    class Meta:
        model = Test
        fields = '__all__'
    
    def clean(self):
        cleaned_data = super().clean()

class TestAdmin(admin.ModelAdmin):
    form = TestAdminForm
    inlines = (TestVersionRelationInline, TypeTestRelationInline,)
    list_display = ('name','file', 'test_result')

admin.site.register(Product)
admin.site.register(Type)
admin.site.register(Version)
admin.site.register(Test, TestAdmin)

Теперь проблема? Сначала ее не было. Я создал суперпользователя с помощью команды createsuperuser. Затем я вошел в систему и создал : 1 продукт, 2 версии (ранее созданного продукта) и 4 типа. Все хорошо, и объекты созданы, но когда я пытаюсь добавить тест...

This is the form just before being saved

Я получаю эту ошибку :

The error i get no matter what

(С выбором или без выбора некоторых версий или типов).

Чтобы быть уверенным, я проверил свой аккаунт администратора :

My account's privilege I also added all the privilege manually even if it should be covered by "Superuser status"

Почему

у меня возникает эта ошибка? По идее, у меня должны быть все права. При создании Test я не делал ничего другого, чем при создании других моделей. Конечно, я использовал инлайны с полем manyToMany, но я уже делал это в другом проекте, и все работало нормально. Что я делаю не так?
Вернуться на верх