Получение django.db.utils.ProgrammingError: (1146, "Table 'password_management.accounts_workspace' doesn't exist") при выполнении миграций БД

Я пытаюсь выполнить миграцию, выполнив следующую команду:

python manage.py makemigrations

Но я получаю следующую ошибку:

django.db.utils.ProgrammingError: (1146, "Table 'password_management.accounts_workspace' doesn't exist")

Я использую базу данных MySQL под названием password_management.

Ранее мое приложение Django работало нормально со всеми миграциями пользователей и прочим. Когда я создал эту новую модель Workspace, я получаю вышеупомянутую ошибку.

Полная информация об ошибке:

Моя модель Workspace представлена ниже:

class Workspace(models.Model):
    name = models.CharField(max_length=254)
    name_slug = models.SlugField(editable=False)
    admin = models.ForeignKey(User, on_delete=models.CASCADE, default=None)
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self) -> str:
        """
        Returns a string to as an instance name
        """
        return (self.name)

    def save(self, *args, **kwargs):
        if self.name:
            try:
                group = Group.objects.get(name=self.name)
                group.delete()
            except Exception as ex:
                print(ex)
            
            permissions = Permission.objects.all

            for p in permissions:
                if p.name.endswith(self.name):
                    p.delete()

        super(Workspace, self).save(*args, **kwargs)

        self.name_slug = slugify(self.name)

        workspace_group = Group.objects.create(
            name="manage-" + self.name_slug
        )

        content_type = ContentType.objects.get_for_model(Workspace)

        permissions = []
        permissions.append(
            Permission.objects.create(
                codename='can_remove_from_workspace_%s' % self.name_slug,
                name='Can Remove User From Workspace %s' % self.name,
                content_type=content_type,
            )
        )
        permissions.append(
            Permission.objects.create(
                codename='can_add_to_workspace_%s' % self.name_slug,
                name='Can Add User To Workspace %s' % self.name,
                content_type=content_type,
            )
        )
        permissions.append(
            Permission.objects.create(
                codename='can_view_from_workspace_%s' % self.name_slug,
                name='Can View User From Workspace %s' % self.name,
                content_type=content_type,
            )
        )

        workspace_group.permissions.set(permissions)

        super(Workspace, self).save(*args, **kwargs)

    def make_admin(self, user):
        user.add_workspace(self)

        self.admin = user
        self.save()

    def remove_admin(self):
        self.admin = None
        self.save()

    def invite_workspace_user(self, user, invite_form_data):
        workspace = invite_form_data["workspace"]
        
        invitation = Invitation.objects.create(
            created_by = user,
            invitee_email = invite_form_data["invitee_email"],
            invitee_first_name = invite_form_data["invitee_first_name"],
            invitee_last_name = invite_form_data["invitee_last_name"]
        )
        
        invitation.send_invite_user_email(workspace)

    def get_by_name(self, name):
        try:
            return self.objects.get(name=name)
        except:
            return None

В admins.py у меня есть:

from .models import Workspace

admin.site.register(Workspace)

В forms.py у меня есть:

from .models import Workspace

WORKSPACES_CHOICES = []
    
workspaces = Workspace.objects.all()

for i in range(len(workspaces)):
    WORKSPACES_CHOICES.append(tuple((str(i + 1), workspaces[i].name)))

WORKSPACES_CHOICES = tuple(WORKSPACES_CHOICES)

class InviteUserByAdminForm(forms.ModelForm):
    workspaces = forms.MultipleChoiceField(
        widget=forms.CheckboxSelectMultiple,
        choices=WORKSPACES_CHOICES
    )

    class Meta:
        model = Invitation
        fields = (
            "invitee_first_name",
            "invitee_last_name",
            "sent_to",
            "workspaces",
        )

Я уже попробовал все решения, упомянутые в этой теме на stackoverflow. Но ни одно из них не помогло мне.

Кто-нибудь может сказать мне, что не так?

Вернуться на верх