Доступ к полям ForeignKey другой модели
У меня есть проект на Django Rest Framework, где мне нужно получить доступ из Project к ProjectTemplate. Но между ними у меня есть модель Department, поэтому я могу соединиться с Department только через ForeignKey. Есть ли какое-нибудь решение, как я могу с этим справиться?
from django.db import models
class ProjectTemplate(models.Model):
name = models.CharField(max_length=125)
desc = models.TextField()
def __str__(self):
return self.name
class Department(models.Model):
name = models.CharField(max_length=125)
desc = models.TextField
project_template = models.ForeignKey(ProjectTemplate, on_delete=models.SET_NULL, related_name='departments', null=True, blank=True, unique=True)
def __str__(self):
return self.name
class Project(models.Model):
name = models.CharField(max_length=125)
desc = models.TextField()
is_visible = models.BooleanField(default=True)
project_temp = models.ForeignKey(Department, to_field='name', on_delete=models.SET_NULL, null=True, blank=True)
def __str__(self):
return self.name
Project
связан с Department
, а Department
связан с ProjectTemplate
. Вы можете получить доступ к ProjectTemplate
из Project
Решение:
def get_project_template(project_obj):
department = project_obj.project_temp
return department.project_template if (department and has_attr(department, 'project_template')) else None
Сделайте что-нибудь подобное, это может вам помочь!