Пользовательский пользовательский внешний ключ TypeError: Невозможно создать последовательный приказ о разрешении метода (MRO)
Как добавить внешний ключ с внешним ключом пользовательского типа? Модели имеют отношения один ко многим через внешние ключи. Документация Django показывает, что я могу добавить модель и ссылаться на нее через внешний ключ. Я хочу добавить тип пользователя: admin, staff и guest. Затем добавить разрешения: до удаления, до редактирования и до чтения соответственно.
python3 manage.py runserver
TypeError: Невозможно создать последовательный порядок разрешения методов порядок (MRO) для баз Model, HistoricalRecords, SoftDeletableModel, TimeStampedModel
from django.contrib.auth.models import AbstractUser
from django.db import models
from django.db.models import CharField
from django.urls import reverse
from django.utils.translation import gettext_lazy as _
from model_utils.models import SoftDeletableModel, TimeStampedModel
from simple_history.models import HistoricalRecords
class User_Type(models.Model, HistoricalRecords, SoftDeletableModel, TimeStampedModel):
name = models.CharField(max_length=100)
class User(AbstractUser):
"""
Default custom user model for project.
If adding fields that need to be filled at user signup,
check forms.SignupForm and forms.SocialSignupForms accordingly.
"""
#: First and last name do not cover name patterns around the globe
name = CharField(_("Name of User"), blank=True, max_length=255)
first_name = None # type: ignore
last_name = None # type: ignore
user_type = models.ForeignKey(User_Type, on_delete=models.CASCADE)
def get_absolute_url(self):
"""Get url for user's detail view.
Returns:
str: URL for user detail.
"""
return reverse("users:detail", kwargs={"username": self.username})