django 获取外部关系中两个较高级别的字符串

uqjltbpv  于 2023-01-27  发布在  Go
关注(0)|答案(1)|浏览(111)

早上好,
如何获取有关项目注解行的值www.example.com。Entity.name about ProjectsComments row.
顶级模特:

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

我需要从项目注解列表视图中获取项目注解__项目__实体.名称的值
我试过使用以下命令进入ProjectsComments. toJSON():

item['entity'] = Entities.objects.get(pk = )

AND 

item['entity'] = self.entity.toJSON()

我不知道了。

ncecgwcz

ncecgwcz1#

您可以从项目中获取实体,因为它们是相关的

item['entity'] = self.project.entity.toJSON()

不需要另一个查询。

相关问题