Я использую наследование модели django для создания модели Entity, так что я могу ссылаться на два внешних ключа в модели диалога, как entity_1 и entity_2 может быть Лицом или Бизнесом. Тем не менее, я получаю следующее сообщение об ошибке:Поле определяет отношение с моделью «Entity», которое либо не установлено, либо является абстрактным
api.Conversation.entity_1: (fields.E300) Field defines a relation with model 'Entity', which is either not installed, or is abstract.
api.Conversation.entity_2: (fields.E300) Field defines a relation with model 'Entity', which is either not installed, or is abstract.
Это мой код до сих пор:
class Entity(models.Model):
id = models.UUIDField(primary_key=True, default=uuid4, editable=False)
class Meta:
abstract = True
class Person(Entity):
"""
Person model
"""
avatar = models.ImageField(upload_to=get_upload_avatar_path, blank=True, null=True, default=None, max_length=255)
first_name = models.CharField(max_length=255)
last_name = models.CharField(max_length=255)
class Business(Entity):
"""
Business model
` """
name = models.CharField(max_length=255, null=True, default=None)
class Conversation(models.Model):
id = models.UUIDField(primary_key=True, default=uuid4, editable=False)
entity_1 = models.ForeignKey(Entity)
entity_2 = models.ForeignKey(Entity)
вы не можете ссылаться на абстрактный класс. Он не создает таблицу базы данных. – trantu
@trantu, что мне тогда делать? Я хотел бы, чтобы entity_1 и entity_2 ссылались на Person и Business, поэтому я могу получить доступ к каждой из модели разговора – methuselah