Получение строки двух верхних уровней в отношениях foraign
Доброе утро,
Как получить значение Entity.name в строке ProjectsComments.
Топовая модель :
class Entities(models.Model):
code = models.CharField(verbose_name='Código', max_length=10, blank=False, unique=True,
help_text='Codigo de entidad.')
name = models.CharField(max_length=150, verbose_name='Nombre', unique=True,
help_text='Nombre de la entidad.')
def __str__(self):
return self.name
def toJSON(self):
item = model_to_dict(self)
return item
Второй уровень:
class Projects(models.Model):
entity = models.ForeignKey(Entities, on_delete=models.DO_NOTHING, verbose_name="Entidad")
def __str__(self):
return f'{self.entity}' + ' \ ' + f'{self.code}' + ' \ ' + f'{self.name}' # + ' \ ' + f'{self.phase}'
def toJSON(self):
item = model_to_dict(self)
item['entity'] = self.entity.toJSON()
return item
Третий уровень
class ProjectsComments(models.Model):
project = models.ForeignKey(Projects, on_delete=models.DO_NOTHING, default=0, verbose_name='Proyecto',
help_text='Proyecto')
def __str__(self):
return f'{self.date}' + f' ' + f'#' + f'{self.user}' + f'# ' + f'{self.comment}'
def toJSON(self):
item = model_to_dict(self)
item['project'] = self.project.toJSON()
item['entity'] = Entities.objects.get(pk = )
item['user'] = self.user.toJSON()
return item
Мне нужно, чтобы из projectscommentsListView получалось значение ProjectsComments__Projects__Entity.name
Я пытался попасть в ProjectsComments.toJSON() с помощью :
item['entity'] = Entities.objects.get(pk = )
AND
item['entity'] = self.entity.toJSON()
Я больше не знаю.
Вы можете получить сущность из своего проекта, так как они связаны
item['entity'] = self.project.entity.toJSON()
Нет необходимости в другом запросе.