Можно ли создать связь между классом и абстрактным классом в Django? - PullRequest
0 голосов
/ 20 июня 2019

Я попытался создать класс «Пользователь», который является базовым классом для классов «SpecialUser» и «SpecialUser2».Но я также хочу отправлять уведомления SpecialUsers, поэтому я создал уведомление класса, как в UML.Но каждый раз, когда я использую команду «makemigrations», она выдает эту ошибку:

csrs.Notification.user: (fields.E300) Field defines a relation with model 'User', which is either not installed, or is abstract.
csrs.Notification.user: (fields.E307) The field csrs.Notification.user was declared with a lazy reference to 'csrs.user', but app 'csrs' doesn't provide model 'user'.

Я пытался переформатировать ее, но другие способы не имели смысла для меня.Вот фактический UML из следующего кода: https://imgur.com/a/Bhdh8ZE, а вот модель Django:

class Notification(models.Model):
    send_date = models.DateField(default=None)
    text = models.CharField(max_length=511, default="")

    user = models.ForeignKey(
        'User',
        on_delete=models.CASCADE,
        default=None
    )

class User(models.Model):
    first_name = models.CharField(max_length=31, default="")
    last_name = models.CharField(max_length=31, default="")

    class Meta:
        abstract = True

class SpecialUser(User):
    pass

class SpecialUser2(User):
    pass
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...